Recommit of r44635:
[AROS.git] / workbench / hidds / hidd.gallium / galliumclass.c
blobd6f92c8a8609b61222205f3319f0083d360ff974
1 /*
2 Copyright 2010-2011, The AROS Development Team. All rights reserved.
3 $Id$
4 */
6 #include "gallium_intern.h"
8 #include <aros/debug.h>
9 #include <proto/oop.h>
11 #undef HiddGalliumAttrBase
12 #define HiddGalliumAttrBase (SD(cl)->galliumAttrBase)
14 /* METHODS */
15 OOP_Object *METHOD(Gallium, Root, New)
17 o = (OOP_Object *)OOP_DoSuperMethod(cl, o, (OOP_Msg) msg);
19 return o;
22 VOID METHOD(Gallium, Root, Get)
24 ULONG idx;
26 if (IS_GALLIUM_ATTR(msg->attrID, idx))
28 switch (idx)
30 /* Overload the property */
31 case aoHidd_Gallium_GalliumInterfaceVersion:
32 *msg->storage = GALLIUM_INTERFACE_VERSION;
33 return;
37 /* Use parent class for all other properties */
38 OOP_DoSuperMethod(cl, o, (OOP_Msg)msg);
41 APTR METHOD(Gallium, Hidd_Gallium, CreatePipeScreen)
43 bug("[gallium.hidd] Abstract CreatePipeScreen called\n");
44 return NULL;
47 VOID METHOD(Gallium, Hidd_Gallium, DisplaySurface)
49 struct pHidd_Gallium_DisplayResource drmsg = {
50 mID : OOP_GetMethodID(IID_Hidd_Gallium, moHidd_Gallium_DisplayResource),
51 resource : msg->surface->texture,
52 srcx : msg->left,
53 srcy : msg->top,
54 bitmap : msg->rastport->BitMap,
55 dstx : msg->absx,
56 dsty : msg->absy,
57 width : msg->width,
58 height : msg->height
60 OOP_DoMethod(o, (OOP_Msg)&drmsg);
63 VOID METHOD(Gallium, Hidd_Gallium, DisplayResource)
65 bug("[gallium.hidd] Abstract DisplaySurface called\n");