APP Bit TYPE 3 PATH "\PIC" EXT "PIC" ICON "\PIC\BITMAP.PIC" ENDA PROC Bitmap: GLOBAL bit%,wid%,hgt% LOCAL left%,top%,fname$(128),index% LOCAL cm$(128),ev%(6),f$(1),nochg%,step% bit% = 0 index% = 0 f$ = CMD$(3) IF f$ = "O" fname$ = cmd$(2) LoadBit:(fname$,index%) left% = (240 - wid%)/2 top% = (80 - hgt%)/2 ShowBit:(left%,top%) ELSEIF f$ = "C" STOP ENDIF DO nochg% = 0 GETEVENT ev%() IF ev%(2) AND 4 REM Control step% = 32 ELSEIF ev%(2) AND 2 REM Shift step% = 1 ELSE step% = 8 ENDIF IF ev%(1) = $404 cm$ = GETCMD$ IF LEFT$(cm$,1) = "X" STOP ELSEIF LEFT$(cm$,1) = "O" fname$ = MID$(cm$,2,128) LoadBit:(fname$,index%) nochg% = 1 ENDIF ELSEIF ev%(1) = $278 REM Rem Psion-x STOP ELSEIF ev%(1) = $104 REM Page Up top% = 0 ELSEIF ev%(1) = $105 REM Page Down top% = 80 - hgt% ELSEIF ev%(1) = $106 REM Home left% = 0 ELSEIF ev%(1) = $107 REM End left% = 240 - wid% ELSEIF ev%(1) = $100 REM Up top% = top% + step% IF top% > 0 top% = 0 ENDIF ELSEIF ev%(1) = $101 REM Down top% = top% - step% IF top% < 80 - hgt% top% = 80 - hgt% ENDIF ELSEIF ev%(1) = $102 REM Right left% = left% - step% IF left% < 240 - wid% left% = 240 - wid% ENDIF ELSEIF ev%(1) = $103 REM Left left% = left% + step% IF left% > 0 left% = 0 ENDIF ELSEIF ev%(1) = 9 REM tab index% = index%+1 ELSEIF ev%(1) = 32 REM space REM position to centre left% = (240 - wid%)/2 top% = (80 - hgt%)/2 ELSE nochg% = 1 ENDIF IF nochg% = 0 ShowBit:(left%,top%) ENDIF UNTIL 0 ENDP PROC LoadBit:(fname$,index%) LOCAL i% ONERR LoadErr i% = index% Load1:: IF bit% > 0 gCLOSE bit% ENDIF bit% = gLOADBIT(fname$,0,i%) SETNAME fname$ wid% = gWidth hgt% = gHeight gUSE 1 RETURN LoadErr:: i% = 0 ONERR OFF GOTO Load1 ENDP PROC ShowBit:(left%,top%) LOCAL x%,y% IF wid% < 240 x% = 0 ELSE x% = left% ENDIF IF hgt% < 240 y% = 0 ELSE y% = top% ENDIF gAT x%,y% gCOPY bit%,0,0,wid%,hgt%,3 gUPDATE ENDP