executor/src/qRegular.c

225 lines
4.4 KiB
C

/* Copyright 1986, 1989, 1990 by Abacus Research and
* Development, Inc. All rights reserved.
*/
#if !defined (OMIT_RCSID_STRINGS)
char ROMlib_rcsid_qRegular[] =
"$Id: qRegular.c 63 2004-12-24 18:19:43Z ctm $";
#endif
/* Forward declarations in QuickDraw.h (DO NOT DELETE THIS LINE) */
#include "rsys/common.h"
#include "QuickDraw.h"
#include "CQuickDraw.h"
#include "DialogMgr.h"
#include "rsys/quick.h"
#include "rsys/cquick.h"
#include "rsys/ctl.h"
#include "rsys/wind.h"
P1(PUBLIC pascal trap, void, FrameRect, Rect *, r)
{
CALLRECT(frame, r);
}
P1(PUBLIC pascal trap, void, PaintRect, Rect *, r)
{
CALLRECT(paint, r);
}
P1(PUBLIC pascal trap, void, EraseRect, Rect *, r)
{
CALLRECT(erase, r);
}
P1(PUBLIC pascal trap, void, InvertRect, Rect *, r)
{
CALLRECT(invert, r);
}
P2(PUBLIC pascal trap, void, FillRect, Rect *, r, Pattern, pat)
{
if (!EmptyRgn (PORT_VIS_REGION (thePort)))
{
ROMlib_fill_pat (pat);
CALLRECT(fill, r);
}
}
P1(PUBLIC pascal trap, void, FrameOval, Rect *, r)
{
CALLOVAL(frame, r);
}
P1(PUBLIC pascal trap, void, PaintOval, Rect *, r)
{
CALLOVAL(paint, r);
}
P1(PUBLIC pascal trap, void, EraseOval, Rect *, r)
{
CALLOVAL(erase, r);
}
P1(PUBLIC pascal trap, void, InvertOval, Rect *, r)
{
CALLOVAL(invert, r);
}
P2(PUBLIC pascal trap, void, FillOval, Rect *, r, Pattern, pat)
{
ROMlib_fill_pat (pat);
CALLOVAL(fill, r);
}
PRIVATE boolean_t
rect_matches_control_item (WindowPtr w, Rect *rp)
{
boolean_t retval;
ControlHandle c;
retval = FALSE;
for (c = WINDOW_CONTROL_LIST (w); !retval && c ; c = CTL_NEXT_CONTROL (c))
{
Rect r;
r = CTL_RECT (c);
retval = ((CW (r.top) - CW (rp->top) == CW (rp->bottom) - CW (r.bottom)) &&
(CW (r.left) - CW (rp->left) == CW (rp->right) - CW (r.right)));
}
return retval;
}
P3(PUBLIC pascal trap, void, FrameRoundRect, Rect *, r, INTEGER, ow,
INTEGER, oh)
{
boolean_t do_rect;
do_rect = FALSE;
if (ROMlib_cdef0_is_rectangular)
{
AuxWinHandle aux;
aux = MR (*lookup_aux_win (thePort));
if (aux && rect_matches_control_item (HxP(aux, awOwner), r))
do_rect = TRUE;
}
if (do_rect)
FrameRect (r);
else
CALLRRECT(frame, r, ow, oh);
}
P3(PUBLIC pascal trap, void, PaintRoundRect, Rect *, r, INTEGER, ow,
INTEGER, oh)
{
CALLRRECT(paint, r, ow, oh);
}
P3(PUBLIC pascal trap, void, EraseRoundRect, Rect *, r, INTEGER, ow,
INTEGER, oh)
{
CALLRRECT(erase, r, ow, oh);
}
P3(PUBLIC pascal trap, void, InvertRoundRect, Rect *, r, INTEGER, ow,
INTEGER, oh)
{
CALLRRECT(invert, r, ow, oh);
}
P4(PUBLIC pascal trap, void, FillRoundRect, Rect *, r, INTEGER, ow,
INTEGER, oh, Pattern, pat)
{
ROMlib_fill_pat (pat);
CALLRRECT(fill, r, ow, oh);
}
P3(PUBLIC pascal trap, void, FrameArc, Rect *, r, INTEGER, start,
INTEGER, angle)
{
CALLARC(frame, r, start, angle);
}
P3(PUBLIC pascal trap, void, PaintArc, Rect *, r, INTEGER, start,
INTEGER, angle)
{
CALLARC(paint, r, start, angle);
}
P3(PUBLIC pascal trap, void, EraseArc, Rect *, r, INTEGER, start,
INTEGER, angle)
{
CALLARC(erase, r, start, angle);
}
P3(PUBLIC pascal trap, void, InvertArc, Rect *, r, INTEGER, start,
INTEGER, angle)
{
CALLARC(invert, r, start, angle);
}
P4(PUBLIC pascal trap, void, FillArc, Rect *, r, INTEGER, start,
INTEGER, angle, Pattern, pat)
{
ROMlib_fill_pat (pat);
CALLARC (fill, r, start, angle);
}
P1(PUBLIC pascal trap, void, FrameRgn, RgnHandle, rh)
{
CALLRGN(frame, rh);
}
P1(PUBLIC pascal trap, void, PaintRgn, RgnHandle, rh)
{
CALLRGN(paint, rh);
}
P1(PUBLIC pascal trap, void, EraseRgn, RgnHandle, rh)
{
CALLRGN(erase, rh);
}
P1(PUBLIC pascal trap, void, InvertRgn, RgnHandle, rh)
{
CALLRGN(invert, rh);
}
P2(PUBLIC pascal trap, void, FillRgn, RgnHandle, rh, Pattern, pat)
{
ROMlib_fill_pat (pat);
CALLRGN(fill, rh);
}
P1(PUBLIC pascal trap, void, FramePoly, PolyHandle, poly)
{
CALLPOLY(frame, poly);
}
P1(PUBLIC pascal trap, void, PaintPoly, PolyHandle, poly)
{
CALLPOLY(paint, poly);
}
P1(PUBLIC pascal trap, void, ErasePoly, PolyHandle, poly)
{
CALLPOLY(erase, poly);
}
P1(PUBLIC pascal trap, void, InvertPoly, PolyHandle, poly)
{
CALLPOLY(invert, poly);
}
P2(PUBLIC pascal trap, void, FillPoly, PolyHandle, poly, Pattern, pat)
{
ROMlib_fill_pat (pat);
CALLPOLY (fill, poly);
}