12.07.2014, 16:57
systemkonforme bilder kannst einfach so zeichnen. slider, scroller, buttons geht damit auch in OS4 und MOS unterstützt 4 5 und 6 aber nicht. da musste dann wie bei wizard auch per env var(wizardstyle) umschaltbar machen. z.b hier code aus dem stormwizard, den ich dafür gemacht habe. Du brauchst nur 1 Objekt erzeugen, die Werte kannst du dann jedesmal kurz vor dem zeichnen passend einstellen mit setattr
backgroundframe = (struct Image *) NewObject(NULL,"frameiclass",TAG_END);
und wenn du das Bild des GUI Objekts zeichnen musst, dann kommt der Code zum einsatz. Es gibt dann die diversen Bilder, je nach skin wird dann das passende gezeichnet. AFA nutzt auch die Werte von dem OS4. FRAME_RIDGE ist für die stringgadgets. propborder ist das prop hintergrundbild und propknob eben das Knopfbild. blackbird hats getestet, geht auch auf OS4
#define FRAME_DEFAULT 0
#define FRAME_BUTTON 1
#define FRAME_RIDGE 2
#define FRAME_ICONDROPBOX 3
#define FRAME_PROPBORDER 4 //OS4 Tag
#define FRAME_PROPKNOB 5 //OS4 Tag
#define FRAME_DISPLAYBOX 6 //OS4 Tag
if (wizardstyle == 1)
{type = 1;recessed = 1;}
else
{type =4;recessed =0;}
SetAttrs(parentdata->FrameObject,
IA_FrameType,type,
IA_Recessed,recessed, IA_EdgesOnly,0,
IA_Left,left,
IA_Top,top,
IA_Width,parentdata->layoutdata.Bounds.Width,
IA_Height,parentdata->layoutdata.Bounds.Height,
IA_Orientation,knob_orientation,
TAG_END);
DrawImageState(RPort,parentdata->FrameObject,0,0,IDS_NORMAL,DrInfo);
backgroundframe = (struct Image *) NewObject(NULL,"frameiclass",TAG_END);
und wenn du das Bild des GUI Objekts zeichnen musst, dann kommt der Code zum einsatz. Es gibt dann die diversen Bilder, je nach skin wird dann das passende gezeichnet. AFA nutzt auch die Werte von dem OS4. FRAME_RIDGE ist für die stringgadgets. propborder ist das prop hintergrundbild und propknob eben das Knopfbild. blackbird hats getestet, geht auch auf OS4
#define FRAME_DEFAULT 0
#define FRAME_BUTTON 1
#define FRAME_RIDGE 2
#define FRAME_ICONDROPBOX 3
#define FRAME_PROPBORDER 4 //OS4 Tag
#define FRAME_PROPKNOB 5 //OS4 Tag
#define FRAME_DISPLAYBOX 6 //OS4 Tag
if (wizardstyle == 1)
{type = 1;recessed = 1;}
else
{type =4;recessed =0;}
SetAttrs(parentdata->FrameObject,
IA_FrameType,type,
IA_Recessed,recessed, IA_EdgesOnly,0,
IA_Left,left,
IA_Top,top,
IA_Width,parentdata->layoutdata.Bounds.Width,
IA_Height,parentdata->layoutdata.Bounds.Height,
IA_Orientation,knob_orientation,
TAG_END);
DrawImageState(RPort,parentdata->FrameObject,0,0,IDS_NORMAL,DrInfo);