gwenhywfar  5.10.1
o_image.c
Go to the documentation of this file.
1 /***************************************************************************
2  begin : Mon Feb 22 2010
3  copyright : (C) 2010 by Martin Preuss
4  email : martin@libchipcard.de
5 
6  ***************************************************************************
7  * Please see toplevel file COPYING for license details *
8  ***************************************************************************/
9 
10 #ifdef HAVE_CONFIG_H
11 # include <config.h>
12 #endif
13 
14 #define DISABLE_DEBUGLOG
15 
16 
17 #include "o_image_p.h"
18 
19 
20 
21 GWEN_INHERIT(HTML_OBJECT, OBJECT_IMAGE);
22 
23 
25 {
26  OBJECT_IMAGE *xo;
27 
28  assert(o);
29  xo=GWEN_INHERIT_GETDATA(HTML_OBJECT, OBJECT_IMAGE, o);
30  assert(xo);
31 
32  HtmlObject_SetWidth(o, xo->scaledWidth);
33  HtmlObject_SetHeight(o, xo->scaledHeight);
34  return 0;
35 }
36 
37 
38 
39 
41 {
42  HTML_OBJECT *o;
43  OBJECT_IMAGE *xo;
44 
46  GWEN_NEW_OBJECT(OBJECT_IMAGE, xo);
49 
50  return o;
51 }
52 
53 
54 
56 {
57  OBJECT_IMAGE *xo;
58 
59  xo=(OBJECT_IMAGE *) p;
60  HtmlImage_free(xo->image);
61 
62  GWEN_FREE_OBJECT(xo);
63 }
64 
65 
66 
68 {
69  OBJECT_IMAGE *xo;
70 
71  assert(o);
72  xo=GWEN_INHERIT_GETDATA(HTML_OBJECT, OBJECT_IMAGE, o);
73  assert(xo);
74 
75  return xo->scaledWidth;
76 }
77 
78 
79 
81 {
82  OBJECT_IMAGE *xo;
83 
84  assert(o);
85  xo=GWEN_INHERIT_GETDATA(HTML_OBJECT, OBJECT_IMAGE, o);
86  assert(xo);
87 
88  xo->scaledWidth=i;
89 }
90 
91 
92 
94 {
95  OBJECT_IMAGE *xo;
96 
97  assert(o);
98  xo=GWEN_INHERIT_GETDATA(HTML_OBJECT, OBJECT_IMAGE, o);
99  assert(xo);
100 
101  return xo->scaledHeight;
102 }
103 
104 
105 
107 {
108  OBJECT_IMAGE *xo;
109 
110  assert(o);
111  xo=GWEN_INHERIT_GETDATA(HTML_OBJECT, OBJECT_IMAGE, o);
112  assert(xo);
113 
114  xo->scaledHeight=i;
115 }
116 
117 
118 
120 {
121  OBJECT_IMAGE *xo;
122 
123  assert(o);
124  xo=GWEN_INHERIT_GETDATA(HTML_OBJECT, OBJECT_IMAGE, o);
125  assert(xo);
126 
127  return xo->image;
128 }
129 
130 
131 
133 {
134  OBJECT_IMAGE *xo;
135 
136  assert(o);
137  xo=GWEN_INHERIT_GETDATA(HTML_OBJECT, OBJECT_IMAGE, o);
138  assert(xo);
139 
140  if (img)
141  HtmlImage_Attach(img);
142  HtmlImage_free(xo->image);
143  xo->image=img;
144 }
145 
146 
147 
148 
149 
150 
151 
152 
int HtmlObject_Image_GetScaledWidth(const HTML_OBJECT *o)
Definition: o_image.c:67
int HtmlObject_Image_GetScaledHeight(const HTML_OBJECT *o)
Definition: o_image.c:93
void HtmlObject_Image_SetImage(HTML_OBJECT *o, HTML_IMAGE *img)
Definition: o_image.c:132
void HtmlImage_Attach(HTML_IMAGE *img)
Definition: htmlimage.c:58
#define GWEN_FREE_OBJECT(varname)
Definition: memory.h:61
GWEN_INHERIT(HTML_OBJECT, OBJECT_IMAGE)
HTML_OBJECT * HtmlObject_Image_new(GWEN_XML_CONTEXT *ctx)
Definition: o_image.c:40
void HtmlObject_SetHeight(HTML_OBJECT *o, int i)
Definition: htmlobject.c:188
void HtmlImage_free(HTML_IMAGE *img)
Definition: htmlimage.c:39
void HtmlObject_Image_SetScaledHeight(HTML_OBJECT *o, int i)
Definition: o_image.c:106
#define GWEN_NEW_OBJECT(typ, varname)
Definition: memory.h:55
struct HTML_IMAGE HTML_IMAGE
Definition: htmlimage_be.h:23
#define GWENHYWFAR_CB
Definition: gwenhywfarapi.h:89
HTML_OBJECT * HtmlObject_new(GWEN_XML_CONTEXT *ctx, HTML_OBJECT_TYPE t)
Definition: htmlobject.c:31
static int HtmlObject_Image_Layout(HTML_OBJECT *o)
Definition: o_image.c:24
void HtmlObject_Image_SetScaledWidth(HTML_OBJECT *o, int i)
Definition: o_image.c:80
HTML_OBJECT_LAYOUT_FN HtmlObject_SetLayoutFn(HTML_OBJECT *o, HTML_OBJECT_LAYOUT_FN fn)
Definition: htmlobject.c:310
HTML_IMAGE * HtmlObject_Image_GetImage(const HTML_OBJECT *o)
Definition: o_image.c:119
#define GWEN_INHERIT_SETDATA(bt, t, element, data, fn)
Definition: inherit.h:292
void HtmlObject_SetWidth(HTML_OBJECT *o, int i)
Definition: htmlobject.c:170
struct GWEN_XML_CONTEXT GWEN_XML_CONTEXT
Definition: xmlctx.h:39
#define GWEN_UNUSED
void GWENHYWFAR_CB HtmlObject_Image_FreeData(GWEN_UNUSED void *bp, void *p)
Definition: o_image.c:55
#define GWEN_INHERIT_GETDATA(bt, t, element)
Definition: inherit.h:271
struct HTML_OBJECT HTML_OBJECT
Definition: htmlobject_be.h:25