mirror of
https://github.com/ctm/executor.git
synced 2024-09-25 22:56:22 +00:00
105 lines
2.2 KiB
C
105 lines
2.2 KiB
C
/* Copyright 1986, 1989, 1990, 1995 by Abacus Research and
|
|
* Development, Inc. All rights reserved.
|
|
*/
|
|
|
|
#if !defined (OMIT_RCSID_STRINGS)
|
|
char ROMlib_rcsid_teDisplay[] =
|
|
"$Id: teDisplay.c 63 2004-12-24 18:19:43Z ctm $";
|
|
#endif
|
|
|
|
/* Forward declarations in TextEdit.h (DO NOT DELETE THIS LINE) */
|
|
|
|
#include "rsys/common.h"
|
|
#include "WindowMgr.h"
|
|
#include "ControlMgr.h"
|
|
#include "TextEdit.h"
|
|
#include "MemoryMgr.h"
|
|
|
|
#include "rsys/cquick.h"
|
|
#include "rsys/wind.h"
|
|
#include "rsys/tesave.h"
|
|
#include "rsys/region.h"
|
|
|
|
|
|
P2 (PUBLIC pascal trap, void, TESetJust, INTEGER, j, TEHandle, teh)
|
|
{
|
|
TE_SLAM (teh);
|
|
HxX (teh, just) = CW(j);
|
|
TECalText (teh);
|
|
TE_SLAM (teh);
|
|
}
|
|
|
|
P2 (PUBLIC pascal trap, void, TEUpdate, Rect *, r, TEHandle, te)
|
|
{
|
|
TE_SLAM (te);
|
|
if (!ROMlib_emptyvis)
|
|
{
|
|
TESAVE (te);
|
|
TRAPBEGIN ();
|
|
TE_DO_TEXT (te, 0, TE_LENGTH (te), teDraw);
|
|
if (TE_ACTIVE (te) && TE_CARET_STATE (te) != 255)
|
|
ROMlib_togglelite (te);
|
|
TRAPEND ();
|
|
TERESTORE ();
|
|
}
|
|
TE_SLAM (te);
|
|
}
|
|
|
|
P4 (PUBLIC pascal trap, void, TextBox, Ptr, p, int32, ln,
|
|
Rect *, r, int16, j)
|
|
{
|
|
TEHandle teh;
|
|
Rect viewrect;
|
|
|
|
/* #### should we do anything at all here if !ROMlib_emptyvis? */
|
|
|
|
viewrect = *r;
|
|
|
|
#if 0
|
|
/*
|
|
* The following InsetRect has been in here for a long time, but it
|
|
* was causing trouble with CIM 2.1.4, so there's good reason to believe
|
|
* that it never should have been here. -- ctm
|
|
*/
|
|
InsetRect(&viewrect, -3, -3);
|
|
#endif
|
|
|
|
teh = TENew(r, &viewrect);
|
|
TESetText(p, ln, teh);
|
|
TESetJust(j, teh);
|
|
if (!ROMlib_emptyvis)
|
|
EraseRect(r);
|
|
TEUpdate(r, teh);
|
|
TEDispose(teh);
|
|
}
|
|
|
|
P3 (PUBLIC pascal trap, void, TEScroll, int16, dh, int16, dv, TEHandle, te)
|
|
{
|
|
RgnHandle rh, save_vis;
|
|
Rect r, vis_rgn_bbox;
|
|
|
|
TESAVE (te);
|
|
TE_SLAM (te);
|
|
TRAPBEGIN ();
|
|
rh = NewRgn ();
|
|
|
|
r = TE_VIEW_RECT (te);
|
|
|
|
ScrollRect (&r, dh, dv, rh);
|
|
OffsetRect (&TE_DEST_RECT (te), dh, dv);
|
|
|
|
save_vis = PORT_VIS_REGION (thePort);
|
|
SectRgn (rh, save_vis, rh);
|
|
PORT_VIS_REGION_X (thePort) = RM (rh);
|
|
|
|
vis_rgn_bbox = RGN_BBOX (PORT_VIS_REGION (thePort));
|
|
TEUpdate (&vis_rgn_bbox, te);
|
|
|
|
PORT_VIS_REGION_X (thePort) = RM (save_vis);
|
|
DisposeRgn (rh);
|
|
|
|
TRAPEND ();
|
|
TE_SLAM (te);
|
|
TERESTORE ();
|
|
}
|