#include "prtypes.h"#include "nsAtomicRefcnt.h"
Include dependency graph for gfxTypes.h:
This graph shows which files directly or indirectly include this file:Defines | |
| #define | THEBES_API NS_IMPORT |
| #define | NS_ERROR_GFX_GENERAL_BASE (50) |
| gfx errors | |
| #define | NS_ERROR_GFX_CMAP_MALFORMED NS_ERROR_GENERATE_FAILURE(NS_ERROR_MODULE_GFX,NS_ERROR_GFX_GENERAL_BASE+1) |
| #define | THEBES_INLINE_DECL_THREADSAFE_REFCOUNTING(_class) |
Typedefs | |
| typedef double | gfxFloat |
| Currently needs to be 'double' for Cairo compatibility. | |
Enumerations | |
| enum | gfxBreakPriority { eNoBreak = 0, eWordWrapBreak, eNormalBreak } |
Priority of a line break opportunity. More... | |
| #define NS_ERROR_GFX_CMAP_MALFORMED NS_ERROR_GENERATE_FAILURE(NS_ERROR_MODULE_GFX,NS_ERROR_GFX_GENERAL_BASE+1) |
| #define NS_ERROR_GFX_GENERAL_BASE (50) |
gfx errors
| #define THEBES_API NS_IMPORT |
| #define THEBES_INLINE_DECL_THREADSAFE_REFCOUNTING | ( | _class | ) |
public: \ nsrefcnt AddRef(void) { \ NS_PRECONDITION(PRInt32(mRefCnt) >= 0, "illegal refcnt"); \ nsrefcnt count = NS_AtomicIncrementRefcnt(mRefCnt); \ NS_LOG_ADDREF(this, count, #_class, sizeof(*this)); \ return count; \ } \ nsrefcnt Release(void) { \ NS_PRECONDITION(0 != mRefCnt, "dup release"); \ nsrefcnt count = NS_AtomicDecrementRefcnt(mRefCnt); \ NS_LOG_RELEASE(this, count, #_class); \ if (count == 0) { \ mRefCnt = 1; /* stabilize */ \ delete this; \ return 0; \ } \ return count; \ } \ protected: \ nsAutoRefCnt mRefCnt; \ public:
| typedef double gfxFloat |
Currently needs to be 'double' for Cairo compatibility.
Could become 'float', perhaps, in some configurations.
| enum gfxBreakPriority |
Priority of a line break opportunity.
eNoBreak The line has no break opportunities eWordWrapBreak The line has a break opportunity only within a word. With word-wrap: break-word we will break at this point only if there are no other break opportunities in the line. eNormalBreak The line has a break opportunity determined by the standard line-breaking algorithm.
Future expansion: split eNormalBreak into multiple priorities, e.g. punctuation break and whitespace break (bug 389710). As and when we implement it, text-wrap: unrestricted will mean that priorities are ignored and all line-break opportunities are equal.
1.7.1