File: draw.h

package info (click to toggle)
twin 0.4.0-4
  • links: PTS
  • area: main
  • in suites: woody
  • size: 3,804 kB
  • ctags: 23,904
  • sloc: ansic: 61,860; cpp: 1,023; makefile: 777; sh: 552; lex: 302; yacc: 231
file content (63 lines) | stat: -rw-r--r-- 2,461 bytes parent folder | download | duplicates (2)
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
#ifndef _TWIN_DRAW_H
#define _TWIN_DRAW_H

void FindFontMenuItem(menu Menu, menuitem MenuItem, dat i, byte Select, hwfont *PtrFont, hwcol *PtrColor);
void FindFontInfo(menu Menu, dat i, byte Select, hwfont *PtrFont, hwcol *PtrColor);
widget FindWidgetAt(widget Parent, dat X, dat Y);

void DrawSelfWidget(draw_ctx *D);
void DrawSelfGadget(draw_ctx *D);
void DrawSelfWindow(draw_ctx *D);
void DrawSelfScreen(draw_ctx *D);

byte InitDrawCtx(widget W, dat X1, dat Y1, dat X2, dat Y2, byte Shaded, draw_ctx *D);
byte InitAbsoluteDrawCtx(widget W, dat X1, dat Y1, dat X2, dat Y2, byte Shaded, draw_ctx *D);
void TranslateCoordsWidget(widget W1, widget W2, dat *X, dat *Y, byte *Inside);

void DrawDesktop(screen Screen, dat Xstart, dat Ystart, dat Xend, dat Yend, byte Shaded);

void DrawArea2(screen FirstScreen, widget Top, widget OnlyW,
	       dat X1, dat Y1, dat X2, dat Y2, byte Shaded);
#define FULL_SCREEN (screen)0, (widget)0, (widget)0, (dat)0, (dat)0, MAXDAT, MAXDAT, FALSE

/* DrawWidget() assumes W is not obscured */
void DrawWidget(widget W, dat Xstart, dat Ystart, dat Xend, dat Yend, byte Shaded);
#define DrawFirstWidget(W) DrawWidget((W), 0, 0, MAXDAT, MAXDAT, FALSE)
void DrawAreaWidget(widget W);

/* like DrawAreaWindow2, but does not draw the shadow: */
#define DrawFullWindow2(W) DrawAreaWidget((widget)W)


void DrawScreen(screen Screen);

void DrawBorderWindow(window Window, byte Flags);
#define BORDER_LEFT	(0x1)
#define BORDER_UP	(0x2)
#define BORDER_RIGHT	(0x4)
#define BORDER_DOWN	(0x8)
#define BORDER_ANY	(0xF)

void DrawShadeWindow(window Window, dat Xstart, dat Ystart, dat Xend, dat Yend, byte Internal);
void DrawAreaShadeWindow(screen Screen, window Window, dat Xstart, dat Ystart, dat Xend, dat Yend,
			 ldat shLeft, ldat shUp, ldat shRgt, ldat shDwn, byte Internal);
/* this also draws the shadow: */
void DrawAreaWindow2(window Window);

void DrawPartialWidget(widget W, dat X1, dat Y1, dat X2, dat Y2);
void DrawLogicWidget(widget W, ldat X1, ldat Y1, ldat X2, ldat Y2);

void ReDrawRolledUpAreaWindow(window Window, byte Shaded);

void ClearHilight(window Window);
void StartHilight(window Window, ldat XSel, ldat YSel);
void ExtendHilight(window Window, ldat XSel, ldat YSel);

screen ScreenParent(widget W);
window WindowParent(widget W);
widget NonScreenParent(widget W);
window FindCursorWindow(void);
byte ContainsCursor(widget W);
widget RecursiveFindWidgetAt(widget Parent, dat X, dat Y);

#endif /* _TWIN_DRAW_H */