hschumann2/TempleOS-Source-Code
0847
1 2 3 4 5 6 7 8<1>/* Graphics Not Rendered in HTML */9 10#define MAP_HEIGHT 204811#define MAP_WIDTH 204812 13#define TREES_NUM 25614 15I64 tree_x[TREES_NUM],tree_y[TREES_NUM];16 17U0 DrawIt(CTask *task,CDC *dc)18{19 I64 i,h,v;20 21 task->horz_scroll.min=0;22 task->horz_scroll.max=MAP_WIDTH-task->pix_width;23 task->vert_scroll.min=0;24 task->vert_scroll.max=MAP_HEIGHT-task->pix_height;25 TaskDerivedValsUpdate(task);26 27 h=task->horz_scroll.pos;28 v=task->vert_scroll.pos;29 30 dc->color=BROWN;31 dc->thick=4;32 GrLine3(dc,2-h,2-v,0,MAP_WIDTH-3-h,2-v,0);33 GrLine3(dc,2-h,MAP_HEIGHT-3-v,0,MAP_WIDTH-3-h,MAP_HEIGHT-3-v,0);34 GrLine3(dc,2-h,2-v,0,2-h,MAP_HEIGHT-3-v,0);35 GrLine3(dc,MAP_WIDTH-3-h,2-v,0,MAP_WIDTH-3-h,MAP_HEIGHT-3-v,0);36 37 //Check bounds if you wish better performance.38 for (i=0;i<TREES_NUM;i++)39 Sprite3(dc,tree_x[i]-h,tree_y[i]-v,0,<Tree>);40}41 42U0 Init()43{44 I64 i;45 for (i=0;i<TREES_NUM;i++) {46 tree_x[i]=RandU16%MAP_WIDTH;47 tree_y[i]=RandU16%MAP_HEIGHT;48 }49}50 51U0 ScrollBars()52{53 SettingsPush; //See SettingsPush54 Init;55 Fs->draw_it=&DrawIt;56 WinBorder(ON);57 DocCursor;58 DocClear;59 DocScroll;60 61 Fs->horz_scroll.pos=0;62 Fs->vert_scroll.pos=0;63 GetChar(,FALSE);64 SettingsPop;65//If you care, you might want to66 //save the original state of the67 //scroll bars.68}69 70ScrollBars;71 