Merge branch 'master' of git://git.ucc.asn.au/tpg/acess2
[tpg/acess2.git] / Usermode / Applications / axwin3_src / WM / renderers / widget / image.c
1 /*
2  * Acess2 Window Manager v3
3  * - By John Hodge (thePowersGang)
4  * 
5  * renderer/widget/image.c
6  * - Image Widget Type
7  */
8 #include <common.h>
9 #include "./common.h"
10 #include "./colours.h"
11 #include "../../include/image.h"
12
13 void Widget_Image_Render(tWindow *Window, tElement *Element)
14 {
15         WM_Render_DrawImage(
16                 Window,
17                 Element->CachedX, Element->CachedY,
18                 Element->CachedW, Element->CachedH,
19                 Element->Data
20                 );
21 }
22
23 void Widget_Image_UpdateText(tElement *Element, const char *Text)
24 {
25         if(Element->Data)       free(Element->Data);
26         Element->Data = Image_Load( Text );
27         if(!Element->Data) {
28 //              Element->Flags &= ~ELEFLAG_FIXEDSIZE;
29                 return ;
30         }
31         
32         Element->CachedW = ((tImage*)Element->Data)->Width;
33         Element->CachedH = ((tImage*)Element->Data)->Height;
34
35         Element->MinW = ((tImage*)Element->Data)->Width;
36         Element->MinH = ((tImage*)Element->Data)->Width;
37         
38         Widget_UpdateMinDims(Element->Parent);
39         
40         // NOTE: Doesn't update Element->Text because it's not really needed here
41 }
42
43 DEFWIDGETTYPE(ELETYPE_IMAGE,
44         WIDGETTYPE_FLAG_NOCHILDREN,
45         .Render = Widget_Image_Render,
46         .UpdateText = Widget_Image_UpdateText
47         );
48

UCC git Repository :: git.ucc.asn.au