quakeforge/ruamoko/cl_menu/HUD.h
Bill Currie 674fbae225 [qfcc] Rework binary_expr to be support matrices
And, nicely, simplify it quite a bit. I'm not sure why I didn't thinkg
of this approach before. While the ruamoko back-end doesn't support
matrices yet, the expressions are handled.

As a side effect, type checking on comparisons is "stricter" in that
more potentially bogus comparisons (eg, int-float) are caught, resulting
in a few warnings in ruamoko code and even finding a couple of bugs.
2024-12-05 00:18:47 +09:00

69 lines
1.2 KiB
Objective-C

#include "Frame.h"
#include "Array.h"
#include "gui/Point.h"
#include "gui/Size.h"
@interface HUDObject : Object
{
Point origin;
BOOL visible;
int handle;
}
- (id) initWithComponents: (int) x : (int) y;
- (void) dealloc;
- (int) handle;
- (Point) origin;
- (Size) size;
- (void) setOrigin: (Point) newPoint;
- (void) translate: (Point) addPoint;
- (BOOL) isVisible;
- (void) setVisible: (BOOL) _visible;
- (void) display;
@end
@interface HUDText : HUDObject
{
string text;
}
- (id) initWithComponents: (int) x :(int) y :(string) _text;
- (Size) size;
- (string) text;
- (void) setText: (string) _text;
- (void) display;
@end
@interface HUDGraphic : HUDObject
{
QPic *picture;
}
- (id) initWithComponents: (int)x :(int)y :(string) _file;
- (void) dealloc;
- (Size) size;
- (void) setFile: (string) _file;
- (void) display;
@end
@extern void () HUD_Init;
@extern int HUDHandleClass;
@interface HUDAnimation : HUDObject
{
Array *frames;
unsigned currentFrame;
float nextFrameTime;
BOOL looping;
}
- (id) initWithComponents: (int) x :(int) y;
- (void) dealloc;
- (Size) size;
- (void) addFrame: (Frame *) frame;
- (void) changeFrame;
- (void) display;
- (void) start;
- (void) stop;
- (void) setLooping: (BOOL) _looping;
@end