home *** CD-ROM | disk | FTP | other *** search
- /* GadTools layout toolkit
- **
- ** Copyright © 1993-1994 by Olaf `Olsen' Barthel
- ** Freely distributable.
- */
-
- #include "gtlayout_global.h"
-
- VOID __regargs
- LTP_BlinkButton(LayoutHandle *handle,struct Gadget *gadget)
- {
- if((gadget -> Flags & (GFLG_GADGIMAGE | GFLG_GADGHIMAGE)) == (GFLG_GADGIMAGE | GFLG_GADGHIMAGE) && gadget -> GadgetRender && gadget -> SelectRender)
- {
- struct MsgPort __aligned TimePort;
- struct timerequest __aligned TimeRequest;
-
- memset(&TimePort,0,sizeof(TimePort));
-
- NewList(&TimePort . mp_MsgList);
-
- TimePort . mp_Flags = PA_SIGNAL;
- TimePort . mp_SigBit = SIGB_SINGLE;
- TimePort . mp_SigTask = SysBase -> ThisTask;
-
- memset(&TimeRequest,0,sizeof(TimeRequest));
-
- TimeRequest . tr_node . io_Message . mn_ReplyPort = &TimePort;
-
- if(!OpenDevice(TIMERNAME,UNIT_VBLANK,&TimeRequest,NULL))
- {
- TimeRequest . tr_node . io_Command = TR_ADDREQUEST;
- TimeRequest . tr_time . tv_secs = 0;
- TimeRequest . tr_time . tv_micro = 80000;
-
- DrawImageState(&handle -> RPort,gadget -> SelectRender,gadget -> LeftEdge,gadget -> TopEdge,IDS_SELECTED,handle -> DrawInfo);
-
- Forbid();
- SetSignal(0,SIGF_SINGLE);
- SendIO(&TimeRequest);
- WaitIO(&TimeRequest);
- Permit();
-
- DrawImageState(&handle -> RPort,gadget -> GadgetRender,gadget -> LeftEdge,gadget -> TopEdge,IDS_NORMAL,handle -> DrawInfo);
-
- CloseDevice(&TimeRequest);
- }
- }
- }
-