quakeforge/tools/qwaq/qwaq-view.h
Bill Currie c079eb851b [qwaq] Start work on the actual app
It doesn't look good, but it does have panel based windows working, and
using objects. Won't build reliably right now due to qwaq being in tools
and thus building before ruamoko, but I'll fix that next.
2020-03-01 00:40:55 +09:00

44 lines
896 B
Objective-C

#ifndef __qwaq_view_h
#define __qwaq_view_h
#include <Array.h>
#include <Object.h>
#include "event.h"
#include "qwaq-curses.h"
typedef struct {
int xpos;
int ypos;
int xlen;
int ylen;
} Rect;
typedef struct {
int x;
int y;
} Point;
@extern Rect makeRect (int xpos, int ypos, int xlen, int ylen);
//XXX will not work if point or rect point to a local variabl
@extern int rectContainsPoint (Rect *rect, Point *point);
@extern Rect getwrect (window_t window);
@interface View: Object
{
Rect rect;
Rect absRect;
Array *views;
Point point; // can't be local :(
View *focusedView;
window_t window;
panel_t panel;
}
+viewFromWindow: (window_t) window;
-initWithRect: (Rect) rect;
-handleEvent: (qwaq_event_t *) event;
-addView: (View *) view;
-setBackground: (int) ch;
@end
#endif//__qwaq_view_h