Source

Fireplace / FPManagedWindow.h

#import <Foundation/Foundation.h>
#import <X11/Xlib.h>
#import <X11/extensions/Xdamage.h>
#import <GL/glx.h>
#import "FPEventLoop.h"

@class FPWindowManager;
// This class manages a single window not owned by Fireplace.
@interface FPManagedWindow : NSObject<FPEventHandler>
{
	Window _window;
	Pixmap _pixmap;
	GLXDrawable _drawable;
	GLuint _texture;
	Damage _damage;

	GLuint _textureTarget;

	int _x, _y, _z;
	int _width, _height;
	BOOL _hasAlpha;
	BOOL _hasOutput;
	float _opacity;
	BOOL _overrideRedirect;

	BOOL _isMapped;

	float _timeAlive;
	float _mappedAtTimeAlive;

	FPWindowManager * _manager; // non-owning reference
}
-(id)initWithWindow:(Window)window manager:(FPWindowManager*)manager;
-(void)performWindowMapping;
-(void)drawWindow;
@end