OPT PREPROCESS MODULE 'exec/memory', 'dos/dos', 'iffparse','libraries/iffparse', 'utility','utility/tagitem', 'feelin','libraries/feelin' /* Feelin doesn't feature a preference editor yet... you must use CreateConfig to create your config. */ PROC main() DEF ds:PTR TO feelinObject,item IF feelinbase := OpenLibrary('feelin.library',FV_VERSION) IF iffparsebase := OpenLibrary('iffparse.library',NIL) IF ds := F_NewObjA(FC_Dataspace,NIL) write(ds) /* read(ds) WriteF('Item 0x\h\n',item := F_DoA(ds,FM_Dataspace_Find,[FP_Frame_Button])) memSave('ram:p',item,64) */ F_DisposeObj(ds) ENDIF CloseLibrary(iffparsebase) ENDIF CloseLibrary(feelinbase) ENDIF ENDPROC PROC write(ds:PTR TO feelinObject) DEF iff:PTR TO iffhandle,lock IF lock := CreateDir('ENVARC:Feelin') THEN UnLock(lock) IF iff := AllocIFF() IF iff.stream := Open('ENVARC:Feelin/«Global».gui',MODE_NEWFILE) InitIFFasDOS(iff) IF OpenIFF(iff,IFFF_WRITE) = NIL PushChunk(iff,"PREF","FORM",IFFSIZE_UNKNOWN) PushChunk(iff,"PREF","PRHD",8) WriteChunkBytes(iff,[0,0],8) PopChunk(iff) ->PROC Frames add_Frame(ds,FP_Frame_Text, 038,038,$02010201,$02010201) add_Frame(ds,FP_Frame_Button, 034,009,$06010601,$07020500) add_Frame(ds,FP_Frame_String, 036,036,$03010301,$03010301) add_Frame(ds,FP_Frame_Group, 008,008,$04020402,$04020402) add_Frame(ds,FP_Frame_Gauge, 011,011,$00000000,$00000000) add_Frame(ds,FP_Frame_Slider, 011,011,$00000000,$00000000) add_Frame(ds,FP_Frame_Prop, 011,011,$00000000,$00000000) ->ENDPROC ->PROC Fonts -> add_Chars(ds,FP_Font_Normal, 'XHelvetica/10') add_Chars(ds,FP_Font_Tiny, 'Helvetica/7') add_Chars(ds,FP_Font_Big, 'Helvetica/24') -> add_Chars(ds,FP_Font_Frame, 'Opal/9') -> add_Chars(ds,FP_Font_Button, 'NewRecall/8') add_Chars(ds,FP_Font_String, 'XHelvetica/10') -> add_Chars(ds,FP_PopHelp_Font, 'XHelvetica/10') ->ENDPROC ->PROC Back -> add_Chars(ds,FP_Back_Window, '2:Image:MacStrip.Mauve.iff') -> add_Chars(ds,FP_Back_Window,'0:3') -> FV_Pen_Fill add_Chars(ds,FP_Back_Window, '2:Feelin:Images/Strip.iff') add_Chars(ds,FP_Back_Group, '0:0') add_Chars(ds,FP_Back_Page, '0:3') add_Chars(ds,FP_Back_Button, '0:3') add_Chars(ds,FP_Back_ButtonAlt, '0:4') add_Chars(ds,FP_Back_String, '0:7') add_Chars(ds,FP_Back_StringAlt, '0:1') add_Chars(ds,FP_Back_Prop, '0:4') add_Chars(ds,FP_Back_Slider, '0:4') add_Chars(ds,FP_Back_Text, '0:4') ->ENDPROC ->PROC FC_Slider add_Chars(ds,FP_Knob_Font, 'XHelvetica/9') add_Chars(ds,FP_Knob_Back, '0:3') add_Chars(ds,FP_Knob_AltBack, '0:1') add_Frame(ds,FP_Knob_Frame, 017,018,$02010200,$02010200) ->ENDPROC ->PROC FC_Group add_Long(ds,FP_Group_HSpacing,10) add_Long(ds,FP_Group_VSpacing,5) add_Chars(ds,FP_Group_PageFont, 'Helvetica/11') ->ENDPROC ->PROC FC_DisplayContext /* add_Chars(ds,FP_Pen_Shine,'i:3') -> SHINEPEN add_Chars(ds,FP_Pen_Fill, 'i:7') -> BACKGROUNDPEN add_Chars(ds,FP_Pen_Dark, 'i:4') -> SHADOWPEN */ add_Chars(ds,FP_Pen_Shine,'c:FFFFFF') -> SHINEPEN add_Chars(ds,FP_Pen_Fill, 'c:BEBEBE') -> BACKGROUNDPEN add_Chars(ds,FP_Pen_Dark, 'c:000000') -> SHADOWPEN ->ENDPROC add_Chars(ds,FP_PopHelp_Scheme, 'c:BED2F0\0\0\0\0' + 'c:82B4F0\0\0\0\0' + 'c:003CAA\0\0\0\0' + 'c:003CAA\0\0\0\0' + 'c:2878C8\0\0\0\0\0',SIZEOF feelinPenSpec*5+1) add_Chars(ds,FP_Window_Renderer,'Shade.wr') add_Chars(ds,FP_Renderer_Font,'Nokia/13') F_DoA(ds,FM_Dataspace_WriteIFF,[iff,"PREF","FGUI"]) PopChunk(iff) CloseIFF(iff) ENDIF Close(iff.stream) ENDIF FreeIFF(iff) ENDIF Execute('C:Copy >NIL: ENVARC:Feelin/«Global».gui TO ENV:Feelin/',NIL,NIL) ENDPROC PROC add_Chars(ds:PTR TO feelinObject,id,str,len=ALL) IF len = ALL THEN len := StrLen(str) + 1 F_DoA(ds,FM_Dataspace_Add,[str,len,id]) ENDPROC PROC add_Frame(ds:PTR TO feelinObject,id,fr,afr,i,ai) F_DoA(ds,FM_Dataspace_Add,[ [fr,afr,i,ai]:feelinFrameSpec,SIZEOF feelinFrameSpec,id]) ENDPROC PROC add_Long(ds:PTR TO feelinObject,id,value) F_DoA(ds,FM_Dataspace_Add,[{value},4,id]) ENDPROC