(*-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-*) PROCEDURE MakeDrawAreaObjectCB(g:GADG); (*-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-*) (*CONST DEBUG = TRUE;*) VAR Tags :ARRAY[0..9] OF TagItem; BEGIN WITH g^ DO IF DEBUG THEN DebugOn(0); DebugPause("MakeDrawAreaObjectCB entry", CAST(INTEGER, g)); END; TagsUtils.AsgTag(Tags, GAID, id); WITH hook DO hEntry := M2HookStub; (* assembler entry point *) hSubEntry := DefaultHook; (* often HLL entry point *) hData := g; (* owner specific *) END; TagsUtils.CatTag(Tags, SPACE_RenderHook, CAST(CARDINAL, ADR(hook))); IF Transparent IN modifs THEN TagsUtils.CatTag(Tags, SPACE_Transparent, ORD(TRUE)); (* better always do this? *) END; (*TagsUtils.CatTag(Tags, GARelVerify, ORD(TRUE));*) IF Boxed IN modifs THEN TagsUtils.CatTags2(Tags, SPACE_BevelStyle, BVSDisplay, SPACE_DomainBevel, ORD(FALSE(*TRUE*))); END; IF ReadOnly IN modifs THEN TagsUtils.CatTag(Tags, GAReadOnly, ORD(TRUE)); END; IF Disabled IN modifs THEN IF DEBUG THEN DebugOn(0); DebugPause("Disabled", CAST(INTEGER, g)); END; TagsUtils.CatTag(Tags, GADisabled, ORD(TRUE)); END; IF (hlptxt.str # NIL) THEN TagsUtils.CatTag(Tags, GAHintInfo, CAST(CARDINAL, hlptxt.str)); END; o := SpaceObject(Tags); END END MakeDrawAreaObjectCB;

