Kernel/armv7 - Implementing COW
[tpg/acess2.git] / Usermode / Applications / axwin3_src / WM / renderer_classes.c
1 /*
2  * Acess2 Window Manager v3
3  * - By John Hodge (thePowersGang)
4  *
5  * render_classes.c
6  * - Simple class based window renderer
7  */
8 #include <common.h>
9 #include <wm_renderer.h>
10
11 // === PROTOTYPES ===
12 tWindow *Renderer_Class_Create(int Width, int Height, int Flags);
13 void    Renderer_Class_Redraw(tWindow *Window);
14 int     Renderer_Class_HandleMessage(tWindow *Target, int Msg, int Len, void *Data);
15
16 // === GLOBALS ===
17 tWMRenderer     gRenderer_Class = {
18         .Name = "Classful",
19         .CreateWindow = Renderer_Class_Create,
20         .Redraw = Renderer_Class_Redraw,
21         .HandleMessage = Renderer_Class_HandleMessage
22 };
23
24 // === CODE ===
25 int Renderer_Class_Init(void)
26 {
27         WM_RegisterRenderer(&gRenderer_Class);  
28
29         return 0;
30 }
31
32 tWindow *Renderer_Class_Create(int Width, int Height, int Flags)
33 {
34         // TODO: Add info
35         return WM_CreateWindowStruct(0);
36 }
37
38 void Renderer_Class_Redraw(tWindow *Window)
39 {
40         Render_DrawFilledRect(Window, info->BGColour, 0, 0, Window->W, Window->H);
41 }
42
43 int Renderer_Class_HandleMessage(tWindow *Target, int Msg, int Len, void *Data)
44 {
45         tClassfulInfo   *info = Target->RendererInfo;
46         switch(Msg)
47         {
48         case MSG_CLASSFUL_SETBGCOLOUR:
49                 if( Len != sizeof(uint32_t) ) return -1;
50                 info->BGColour = *(uint32_t*)Data;
51                 break;
52
53         case MSG_CLASSFUL_SETTEXT:
54                 
55                 break;
56         }
57 }
58

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