Go to the documentation of this file.00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011 #ifndef HTMLOBJECT_BE_H
00012 #define HTMLOBJECT_BE_H
00013
00014
00015 #include <gwenhywfar/tree.h>
00016 #include <gwenhywfar/inherit.h>
00017 #include <gwenhywfar/xmlctx.h>
00018
00019
00020 #ifdef __cplusplus
00021 extern "C" {
00022 #endif
00023
00024
00025 typedef struct HTML_OBJECT HTML_OBJECT;
00026 GWEN_TREE_FUNCTION_LIB_DEFS(HTML_OBJECT, HtmlObject, GWENHYWFAR_API)
00027 GWEN_INHERIT_FUNCTION_LIB_DEFS(HTML_OBJECT, GWENHYWFAR_API)
00028
00029
00030 #define HTML_OBJECT_FLAGS_START_ON_NEWLINE 0x00000001
00031 #define HTML_OBJECT_FLAGS_END_WITH_NEWLINE 0x00000002
00032
00033 #define HTML_OBJECT_FLAGS_JUSTIFY_LEFT 0x00000000
00034 #define HTML_OBJECT_FLAGS_JUSTIFY_RIGHT 0x00000004
00035 #define HTML_OBJECT_FLAGS_JUSTIFY_HCENTER 0x00000008
00036 #define HTML_OBJECT_FLAGS_JUSTIFY_TOP 0x00000000
00037 #define HTML_OBJECT_FLAGS_JUSTIFY_BOTTOM 0x00000010
00038 #define HTML_OBJECT_FLAGS_JUSTIFY_VCENTER 0x00000020
00039
00040
00041 typedef int (*HTML_OBJECT_LAYOUT_FN)(HTML_OBJECT *o);
00042
00043 typedef enum {
00044 HtmlObjectType_Unknown=0,
00045 HtmlObjectType_Box,
00046 HtmlObjectType_Word,
00047 HtmlObjectType_OrderedList,
00048 HtmlObjectType_UnorderedList,
00049 HtmlObjectType_ListEntry,
00050 HtmlObjectType_Grid,
00051 HtmlObjectType_GridEntry,
00052 HtmlObjectType_Control,
00053 HtmlObjectType_Image,
00054
00055 HtmlObjectType_Count
00056 } HTML_OBJECT_TYPE;
00057
00058
00059 #include <gwenhywfar/htmlprops_be.h>
00060 #include <gwenhywfar/htmlctx_be.h>
00061
00062
00063 GWENHYWFAR_API HTML_OBJECT *HtmlObject_new(GWEN_XML_CONTEXT *ctx, HTML_OBJECT_TYPE t);
00064 GWENHYWFAR_API void HtmlObject_free(HTML_OBJECT *o);
00065 GWENHYWFAR_API void HtmlObject_Attach(HTML_OBJECT *o);
00066
00067 GWENHYWFAR_API GWEN_XML_CONTEXT *HtmlObject_GetXmlCtx(const HTML_OBJECT *o);
00068
00069 GWENHYWFAR_API HTML_OBJECT_TYPE HtmlObject_GetObjectType(const HTML_OBJECT *o);
00070 GWENHYWFAR_API void HtmlObject_SetObjectType(HTML_OBJECT *o, HTML_OBJECT_TYPE t);
00071
00072 GWENHYWFAR_API HTML_PROPS *HtmlObject_GetProperties(const HTML_OBJECT *o);
00073 GWENHYWFAR_API void HtmlObject_SetProperties(HTML_OBJECT *o, HTML_PROPS *pr);
00074
00075 GWENHYWFAR_API int HtmlObject_GetX(const HTML_OBJECT *o);
00076 GWENHYWFAR_API void HtmlObject_SetX(HTML_OBJECT *o, int i);
00077
00078 GWENHYWFAR_API int HtmlObject_GetY(const HTML_OBJECT *o);
00079 GWENHYWFAR_API void HtmlObject_SetY(HTML_OBJECT *o, int i);
00080
00081 GWENHYWFAR_API int HtmlObject_GetWidth(const HTML_OBJECT *o);
00082 GWENHYWFAR_API void HtmlObject_SetWidth(HTML_OBJECT *o, int i);
00083
00084 GWENHYWFAR_API int HtmlObject_GetHeight(const HTML_OBJECT *o);
00085 GWENHYWFAR_API void HtmlObject_SetHeight(HTML_OBJECT *o, int i);
00086
00087 GWENHYWFAR_API int HtmlObject_GetConfiguredWidth(const HTML_OBJECT *o);
00088 GWENHYWFAR_API void HtmlObject_SetConfiguredWidth(HTML_OBJECT *o, int i);
00089
00090 GWENHYWFAR_API int HtmlObject_GetConfiguredHeight(const HTML_OBJECT *o);
00091 GWENHYWFAR_API void HtmlObject_SetConfiguredHeight(HTML_OBJECT *o, int i);
00092
00093 GWENHYWFAR_API const char *HtmlObject_GetText(const HTML_OBJECT *o);
00094 GWENHYWFAR_API void HtmlObject_SetText(HTML_OBJECT *o, const char *s);
00095
00096 GWENHYWFAR_API int HtmlObject_Layout(HTML_OBJECT *o);
00097
00098 GWENHYWFAR_API uint32_t HtmlObject_GetFlags(const HTML_OBJECT *o);
00099 GWENHYWFAR_API void HtmlObject_SetFlags(HTML_OBJECT *o, uint32_t fl);
00100 GWENHYWFAR_API void HtmlObject_AddFlags(HTML_OBJECT *o, uint32_t fl);
00101 GWENHYWFAR_API void HtmlObject_SubFlags(HTML_OBJECT *o, uint32_t fl);
00102
00103
00104 GWENHYWFAR_API HTML_OBJECT_LAYOUT_FN HtmlObject_SetLayoutFn(HTML_OBJECT *o,
00105 HTML_OBJECT_LAYOUT_FN fn);
00106
00107 #ifdef __cplusplus
00108 }
00109 #endif
00110
00111
00112 #endif
00113