- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
- 22
- 23
- 24
- 25
- 26
- 27
- 28
- 29
- 30
- 31
- 32
- 33
- 34
- 35
- 36
- 37
- 38
- 39
- 40
- 41
- 42
- 43
- 44
- 45
- 46
- 47
- 48
- 49
- 50
- 51
- 52
- 53
- 54
- 55
- 56
- 57
- 58
- 59
- 60
- 61
- 62
- 63
- 64
- 65
- 66
- 67
- 68
- 69
- 70
- 71
- 72
- 73
- 74
- 75
- 76
- 77
- 78
- 79
- 80
- 81
- 82
- 83
- 84
- 85
- 86
- 87
- 88
- 89
- 90
- 91
- 92
- 93
- 94
- 95
- 96
- 97
- 98
- 99
- 100
// https://github.com/shanecoughlan/OpenGEM/blob/ac06b1a3fec3f3e8defcaaf7ea0338c38c3cef46/source/OpenGEM-7-RC3-SDK/OpenGEM-7-SDK/GEM%20AES%20AND%20SOURCE%20CODE/FreeGEM%20AES%203.0%20(source%20code)/GEMEVLIB.C#L143
/*
* Do a multi-wait on the specified events.
*/
WORD
ev_multi(flags, pmo1, pmo2, tmcount, buparm, mebuff, prets)
REG WORD flags;
REG MOBLK *pmo1;
MOBLK *pmo2;
LONG tmcount;
LONG buparm;
LPVOID mebuff;
WORD prets[];
{
QPB m;
REG EVSPEC which;
REG WORD what;
REG CQUEUE *pc;
#if MULTIAPP
WORD evbuff[8];
WORD pid;
SHELL *psh;
LONG ljunk;
pid = rlr->p_pid;
psh = &sh[pid];
if ( psh->sh_state & SHRINK ) /* shrink accessory */
{
if (pr_shrink(pid, TRUE, &ljunk, &ljunk))
ap_exit(TRUE); /* if no swap space terminate acc */
psh->sh_state &= ~SHRINK;
}
#endif
/* say nothing has */
/* happened yet */
what = 0x0;
/* do a pre-check for a */
/* keystroke & then */
/* clear out the forkq*/
chkkbd();
forker();
/* a keystroke */
if (flags & MU_KEYBD)
{
/* if a character is */
/* ready then get it */
pc = &rlr->p_cda->c_q;
if ( pc->c_cnt )
{
prets[4] = (UWORD) dq(pc);
what |= MU_KEYBD;
}
}
/* if we own the mouse */
/* then do quick chks */
if ( rlr == gl_mowner )
{
/* quick check button */
if (flags & MU_BUTTON)
{
if ( (mtrans > 1) &&
(downorup(pr_button, buparm)) )
{
what |= MU_BUTTON;
prets[5] = pr_mclick;
}
else
{
if ( downorup(button, buparm) )
{
what |= MU_BUTTON;
prets[5] = mclick;
}
}
}
/* quick check mouse rec*/
if ( ( flags & MU_M1 ) &&
( in_mrect(pmo1) ) )
what |= MU_M1;
/* quick check mouse rec*/
if ( ( flags & MU_M2 ) &&
( in_mrect(pmo2) ) )
what |= MU_M2;
}
/* quick check timer */
if (flags & MU_TIMER)
{
if ( tmcount == 0x0L )
what |= MU_TIMER;
}
/* quick check message */
if (flags & MU_MESAG)
{
if ( rlr->p_qindex > 0 )
{
#if MULTIAPP
ap_rdwr(MU_MESAG, rlr, 16, ADDR(&evbuff[0]) );
#endif
#if SINGLAPP
j123123 # 0
j123123 # 0 ⇈
bormand # 0 ⇈
CHayT # 0 ⇈
Там один файл забористее другого.
Desktop # 0 ⇈
- фто
CHayT # 0 ⇈
j123123 # 0 ⇈
Kozel # 0 ⇈
bormand # 0 ⇈
gologub # 0 ⇈