Projekt

Allgemein

Profil

Herunterladen (2,5 KB) Statistiken
| Zweig: | Markierung: | Revision:
/***************************************************************************
begin : Mon Feb 22 2010
copyright : (C) 2010 by Martin Preuss
email : martin@libchipcard.de

***************************************************************************
* Please see toplevel file COPYING for license details *
***************************************************************************/

#ifdef HAVE_CONFIG_H
# include <config.h>
#endif

#include "o_image_p.h"



GWEN_INHERIT(HTML_OBJECT, OBJECT_IMAGE);


static int HtmlObject_Image_Layout(HTML_OBJECT *o) {
OBJECT_IMAGE *xo;

assert(o);
xo=GWEN_INHERIT_GETDATA(HTML_OBJECT, OBJECT_IMAGE, o);
assert(xo);

HtmlObject_SetWidth(o, xo->scaledWidth);
HtmlObject_SetHeight(o, xo->scaledHeight);
return 0;
}




HTML_OBJECT *HtmlObject_Image_new(GWEN_XML_CONTEXT *ctx) {
HTML_OBJECT *o;
OBJECT_IMAGE *xo;

o=HtmlObject_new(ctx, HtmlObjectType_Image);
GWEN_NEW_OBJECT(OBJECT_IMAGE, xo);
GWEN_INHERIT_SETDATA(HTML_OBJECT, OBJECT_IMAGE, o, xo, HtmlObject_Image_FreeData);
HtmlObject_SetLayoutFn(o, HtmlObject_Image_Layout);

return o;
}



void GWENHYWFAR_CB HtmlObject_Image_FreeData(void *bp, void *p) {
OBJECT_IMAGE *xo;

xo=(OBJECT_IMAGE*) p;
HtmlImage_free(xo->image);

GWEN_FREE_OBJECT(xo);
}



int HtmlObject_Image_GetScaledWidth(const HTML_OBJECT *o) {
OBJECT_IMAGE *xo;

assert(o);
xo=GWEN_INHERIT_GETDATA(HTML_OBJECT, OBJECT_IMAGE, o);
assert(xo);

return xo->scaledWidth;
}



void HtmlObject_Image_SetScaledWidth(HTML_OBJECT *o, int i) {
OBJECT_IMAGE *xo;

assert(o);
xo=GWEN_INHERIT_GETDATA(HTML_OBJECT, OBJECT_IMAGE, o);
assert(xo);

xo->scaledWidth=i;
}



int HtmlObject_Image_GetScaledHeight(const HTML_OBJECT *o) {
OBJECT_IMAGE *xo;

assert(o);
xo=GWEN_INHERIT_GETDATA(HTML_OBJECT, OBJECT_IMAGE, o);
assert(xo);

return xo->scaledHeight;
}



void HtmlObject_Image_SetScaledHeight(HTML_OBJECT *o, int i) {
OBJECT_IMAGE *xo;

assert(o);
xo=GWEN_INHERIT_GETDATA(HTML_OBJECT, OBJECT_IMAGE, o);
assert(xo);

xo->scaledHeight=i;
}



HTML_IMAGE *HtmlObject_Image_GetImage(const HTML_OBJECT *o) {
OBJECT_IMAGE *xo;

assert(o);
xo=GWEN_INHERIT_GETDATA(HTML_OBJECT, OBJECT_IMAGE, o);
assert(xo);

return xo->image;
}



void HtmlObject_Image_SetImage(HTML_OBJECT *o, HTML_IMAGE *img) {
OBJECT_IMAGE *xo;

assert(o);
xo=GWEN_INHERIT_GETDATA(HTML_OBJECT, OBJECT_IMAGE, o);
assert(xo);

if (img)
HtmlImage_Attach(img);
HtmlImage_free(xo->image);
xo->image=img;
}








(45-45/50)