gwenhywfar  4.3.3
htmlobject_be.h
Go to the documentation of this file.
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