Exemple #1
0
void w_redraw(WORD w_handle, GRECT *pt)
{
        GRECT           t, d;
        PD              *ppd;

        ppd = D.w_win[w_handle].w_owner;
                                                /* make sure work rect  */
                                                /*   and word rect      */
                                                /*   intersect          */
        rc_copy(pt, &t);
        w_getsize(WS_WORK, w_handle, &d);
        if ( rc_intersect(&t, &d) )
        {
                                                /* make sure window has */
                                                /*   owns a rectangle   */
          if ( w_union(D.w_win[w_handle].w_rlist, &d) )
          {
                                                /* intersect redraw     */
                                                /*   rect with union    */
                                                /*   of owner rects     */
            if ( rc_intersect(&d, &t) )
              ap_sendmsg(wind_msg, WM_REDRAW, ppd,
                        w_handle, t.g_x, t.g_y, t.g_w, t.g_h);
          }
        }
}
Exemple #2
0
/*
 * Send message and wait for the mouse button to come up
 */
static void ct_msgup(WORD message, AESPD *owner, WORD wh, WORD m1, WORD m2, WORD m3, WORD m4)
{
    if (message == 0)
        return;

    ap_sendmsg(appl_msg, message, owner, wh, m1, m2, m3, m4);

    /*
     * wait for button to come up if not an arrowed message
     */
    if ( message != WM_ARROWED &&
       ( message != WM_CLOSED && !(D.w_win[wh].w_kind & HOTCLOSE) ) )
    {
        while( (button & 0x0001) != 0x0 )
            dsptch();
    }
}