/**************************************************************** * Userdefined Objects in GFA-BASIC 3.x * * (c)8/92 Gregi Duchalski * * * * last change 04.08.92 * * * * UNTERSTR. TEXT zeichnen (Tabweite 4)* ****************************************************************/ #include #include #include #include WORD cdecl button(PARMBLK *parmblk) { /* Diese Struktur wird im BASIC angelegt... */ typedef struct { WORD u_handle; /* Bildschirmhandle V~H */ BYTE *u_text; /* Adresse des Textes */ BYTE u_wchar; /* Breite eines Zeichens */ BYTE u_hchar; /* H”he eines Zeichens */ WORD u_pos; /* Pos. d. unterstr. Buchst. */ }USRBLK; WORD xy_clip[4],v_handle,x,y; USRBLK *usrblk; usrblk=(USRBLK*) parmblk->pb_parm; v_handle=usrblk->u_handle; /* Bildschirmhandle */ /* Clipping setzen */ xy_clip[0]=parmblk->pb_xc; xy_clip[1]=parmblk->pb_yc; xy_clip[2]=xy_clip[0]+parmblk->pb_wc-1; xy_clip[3]=xy_clip[1]+parmblk->pb_hc-1; vs_clip(v_handle,1,xy_clip); /* Text ausgeben */ x=parmblk->pb_x; y=parmblk->pb_y+usrblk->u_hchar-(usrblk->u_hchar/8)-1; vst_effects(v_handle,8); /* Unterstr. ein */ v_gtext(v_handle,x,y,usrblk->u_text); vst_effects(v_handle,0); /* Unterstr. aus */ /* Clipping aus, Schreibmodus zurck */ vs_clip(v_handle,0,xy_clip); return (parmblk->pb_currstate); }