first commit

This commit is contained in:
2026-06-22 11:49:35 +02:00
commit d805f2ba86
619 changed files with 126873 additions and 0 deletions

View File

@ -0,0 +1,87 @@
/* -----------------------------------------------------------------------------
GSFramework
Copyright 2001-2013 Emmanuel Julien. All Rights Reserved.
----------------------------------------------------------------------------- */
#ifndef __NWINDOW__
#define __NWINDOW__
#include "ui/widget.h"
#include "ui/ui_sprite.h"
#include "ui/ui_window_skin.h"
namespace GS {
struct RenderResourceFactory;
namespace S2D {
/*!
@short Window class.
@author Emmanuel Julien (ejulien@nworks.fr)
*/
class Window : public Sprite
{
public:
enum
{
FlagNoDecoration = (1 << 0),
FlagNoTitleBar = (1 << 1),
// Non-serializable
FlagCacheDirty = (1 << 2),
FlagRenderDirty = (1 << 3)
};
protected:
sWindowSkin skin;
sPicture cache;
sWidget title_widget;
sWidget base_widget;
BitField window_flags;
public:
Picture *GetCache() const { return cache; }
void Invalidate();
void SetSkin(WindowSkin *);
void ComposeSkin();
void Compose();
void SetSize(float w, float h);
sPicture background_picture;
Color background_color;
Widget *GetWidget(uint id);
Widget *GetTitleWidget() const;
void SetTitleWidget(Widget *);
Widget *GetBaseWidget() const;
void SetBaseWidget(Widget *);
iRect GetRect() const;
iRect GetClientRect() const;
virtual void RenderSetup(Core::ResourceFactories * = 0);
virtual void Render(Renderer &, GPU::TriangleBatch * = 0);
virtual bool FromMetaTag(NML::Tag &);
virtual NML::Tag *AsMetaTag() const;
Window();
};
} // S2D
} // GS
#endif // __NWINDOW__