gwenhywfar
4.3.1
|
00001 /*************************************************************************** 00002 begin : Sat Feb 20 2010 00003 copyright : (C) 2010 by Martin Preuss 00004 email : martin@libchipcard.de 00005 00006 *************************************************************************** 00007 * Please see toplevel file COPYING for license details * 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