Initial release

This commit is contained in:
civ
2026-08-16 18:24:52 +07:00
commit 876886a39a
13244 changed files with 2353959 additions and 0 deletions
+76
View File
@@ -0,0 +1,76 @@
// This file is part of VSTGUI. It is subject to the license terms
// in the LICENSE file found in the top-level directory of this
// distribution and at http://github.com/steinbergmedia/vstgui/LICENSE
#pragma once
#include "vstguifwd.h"
#include "cstring.h"
#include <string>
#include <list>
namespace VSTGUI {
//-----------------------------------------------------------------------------
// CFontDesc Declaration
//! @brief font class
//-----------------------------------------------------------------------------
class CFontDesc : public AtomicReferenceCounted
{
public:
CFontDesc (const UTF8String& name = "", const CCoord& size = 0, const int32_t style = 0);
CFontDesc (const CFontDesc& font);
~CFontDesc () noexcept override;
//-----------------------------------------------------------------------------
/// @name Size, Name and Style Methods
//-----------------------------------------------------------------------------
//@{
/** get the name of the font */
const UTF8String& getName () const { return name; }
/** get the height of the font */
const CCoord& getSize () const { return size; }
/** get the style of the font */
const int32_t& getStyle () const { return style; }
/** set the name of the font */
virtual void setName (const UTF8String& newName);
/** set the height of the font */
virtual void setSize (CCoord newSize);
/** set the style of the font @sa CTxtFace */
virtual void setStyle (int32_t newStyle);
//@}
virtual const PlatformFontPtr getPlatformFont () const;
virtual const IFontPainter* getFontPainter () const;
virtual CFontDesc& operator= (const CFontDesc&);
virtual bool operator== (const CFontDesc&) const;
virtual bool operator!= (const CFontDesc& other) const { return !(*this == other);}
static void init ();
static void cleanup ();
protected:
void beforeDelete () override;
virtual void freePlatformFont ();
UTF8String name;
CCoord size;
int32_t style;
mutable PlatformFontPtr platformFont;
};
//-----------------------------------------------------------------------------
// Global fonts
//-----------------------------------------------------------------------------
extern CFontRef kSystemFont;
extern CFontRef kNormalFontVeryBig;
extern CFontRef kNormalFontBig;
extern CFontRef kNormalFont;
extern CFontRef kNormalFontSmall;
extern CFontRef kNormalFontSmaller;
extern CFontRef kNormalFontVerySmall;
extern CFontRef kSymbolFont;
} // VSTGUI