Magic_Game/Easy2D/e2dstyle.h

104 lines
3.0 KiB
C
Raw Normal View History

2017-09-27 17:56:28 +08:00
#pragma once
#include <e2dbase.h>
namespace easy2d
{
class FontStyle :
public Object
{
friend class Text;
public:
FontStyle();
/**
* ʹ<EFBFBD><EFBFBD> [<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ơ<EFBFBD><EFBFBD>ֺš<EFBFBD><EFBFBD><EFBFBD>ϸ<EFBFBD><EFBFBD><EFBFBD>ֿ<EFBFBD><EFBFBD><EFBFBD>б<EFBFBD><EFBFBD>»<EFBFBD><EFBFBD>ߡ<EFBFBD>ɾ<EFBFBD><EFBFBD><EFBFBD>ߡ<EFBFBD><EFBFBD>ַ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>д<EFBFBD>Ƕȡ<EFBFBD>
* ÿ<EFBFBD><EFBFBD><EFBFBD>ַ<EFBFBD><EFBFBD><EFBFBD>д<EFBFBD>Ƕȡ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>] <EFBFBD><EFBFBD><EFBFBD>Դ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʽ
*/
FontStyle(LPCTSTR fontfamily, LONG height = 18, LONG weight = 0, LONG width = 0,
bool italic = 0, bool underline = 0, bool strikeout = 0, LONG escapement = 0,
LONG orientation = 0, bool quality = true);
virtual ~FontStyle();
// <20><>ȡĬ<C8A1><C4AC><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
static FontStyle * getDefault();
// <20><><EFBFBD><EFBFBD><EFBFBD>ַ<EFBFBD>ƽ<EFBFBD><C6BD><EFBFBD>߶<EFBFBD>
void setHeight(LONG value);
// <20><><EFBFBD><EFBFBD><EFBFBD>ַ<EFBFBD>ƽ<EFBFBD><C6BD><EFBFBD><EFBFBD><EFBFBD>ȣ<EFBFBD>0<EFBFBD><30>ʾ<EFBFBD><CABE><EFBFBD><EFBFBD>Ӧ<EFBFBD><D3A6>
void setWidth(LONG value);
// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
void setFontFamily(LPCTSTR value);
// <20><><EFBFBD><EFBFBD><EFBFBD>ַ<EFBFBD><D6B7>ʻ<EFBFBD><CABB><EFBFBD>ϸ<EFBFBD><CFB8><EFBFBD><EFBFBD>Χ0~1000<30><30>Ĭ<EFBFBD><C4AC>Ϊ0
void setWeight(LONG value);
// <20><><EFBFBD><EFBFBD>б<EFBFBD><D0B1>
void setItalic(bool value);
// <20><><EFBFBD><EFBFBD><EFBFBD>»<EFBFBD><C2BB><EFBFBD>
void setUnderline(bool value);
// <20><><EFBFBD><EFBFBD>ɾ<EFBFBD><C9BE><EFBFBD><EFBFBD>
void setStrikeOut(bool value);
// <20><><EFBFBD><EFBFBD><EFBFBD>ַ<EFBFBD><D6B7><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>д<EFBFBD>Ƕȣ<C7B6><C8A3><EFBFBD>λ0.1<EFBFBD>ȣ<EFBFBD>Ĭ<EFBFBD><EFBFBD>Ϊ0
void setEscapement(LONG value);
// <20><><EFBFBD><EFBFBD>ÿ<EFBFBD><C3BF><EFBFBD>ַ<EFBFBD><D6B7><EFBFBD><EFBFBD><EFBFBD>д<EFBFBD>Ƕȣ<C7B6><C8A3><EFBFBD>λ0.1<EFBFBD>ȣ<EFBFBD>Ĭ<EFBFBD><EFBFBD>Ϊ0
void setOrientation(LONG value);
// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><E5BFB9><EFBFBD>ݣ<EFBFBD>Ĭ<EFBFBD><C4AC>Ϊtrue
void setQuality(bool value);
protected:
LOGFONT m_font;
};
class FontWeight
{
public:
static const LONG dontcare; // <20><>ϸֵ 0
static const LONG thin; // <20><>ϸֵ 100
static const LONG extraLight; // <20><>ϸֵ 200
static const LONG light; // <20><>ϸֵ 300
static const LONG normal; // <20><>ϸֵ 400
static const LONG regular; // <20><>ϸֵ 400
static const LONG medium; // <20><>ϸֵ 500
static const LONG demiBlod; // <20><>ϸֵ 600
static const LONG blod; // <20><>ϸֵ 700
static const LONG extraBold; // <20><>ϸֵ 800
static const LONG black; // <20><>ϸֵ 900
static const LONG heavy; // <20><>ϸֵ 900
};
class Color
{
public:
static const COLORREF black; // <20><>ɫ
static const COLORREF blue; // <20><>ɫ
static const COLORREF green; // <20><>ɫ
static const COLORREF cyan; // <20><>ɫ
static const COLORREF red; // <20><>ɫ
static const COLORREF magenta; // <20><>ɫ
static const COLORREF brown; // <20><>ɫ
static const COLORREF lightgray; // <20><><EFBFBD><EFBFBD>ɫ
static const COLORREF darkgray; // <20><><EFBFBD><EFBFBD>ɫ
static const COLORREF lightblue; // <20><><EFBFBD><EFBFBD>ɫ
static const COLORREF lightgreen; // <20><><EFBFBD><EFBFBD>ɫ
static const COLORREF lightcyan; // <20><><EFBFBD><EFBFBD>ɫ
static const COLORREF lightred; // <20><><EFBFBD><EFBFBD>ɫ
static const COLORREF lightmagenta; // <20><><EFBFBD><EFBFBD>ɫ
static const COLORREF yellow; // <20><><EFBFBD><EFBFBD>ɫ
static const COLORREF white; // <20><>ɫ
// ͨ<><CDA8><EFBFBD><EFBFBD>̡<EFBFBD><CCA1><EFBFBD><EFBFBD><EFBFBD>ɫ<EFBFBD><C9AB><EFBFBD><EFBFBD><EFBFBD>ϳ<EFBFBD><CFB3><EFBFBD>ɫ
static COLORREF getFromRGB(BYTE r, BYTE g, BYTE b);
// ͨ<><CDA8>ɫ<EFBFBD><EFBFBD><E0A1A2><EFBFBD>Ͷȡ<CDB6><C8A1><EFBFBD><EFBFBD>Ⱥϳ<C8BA><CFB3><EFBFBD>ɫ
static COLORREF getFromHSL(float H, float S, float L);
// ͨ<><CDA8>ɫ<EFBFBD><EFBFBD><E0A1A2><EFBFBD>Ͷȡ<CDB6><C8A1><EFBFBD><EFBFBD>Ⱥϳ<C8BA><CFB3><EFBFBD>ɫ
static COLORREF getFromHSV(float H, float S, float V);
// <20><><EFBFBD><EFBFBD>ָ<EFBFBD><D6B8><EFBFBD><EFBFBD>ɫ<EFBFBD>еĺ<D0B5>ɫֵ
static BYTE getRValue(COLORREF color);
// <20><><EFBFBD><EFBFBD>ָ<EFBFBD><D6B8><EFBFBD><EFBFBD>ɫ<EFBFBD>е<EFBFBD><D0B5><EFBFBD>ɫֵ
static BYTE getGValue(COLORREF color);
// <20><><EFBFBD><EFBFBD>ָ<EFBFBD><D6B8><EFBFBD><EFBFBD>ɫ<EFBFBD>е<EFBFBD><D0B5><EFBFBD>ɫֵ
static BYTE getBValue(COLORREF color);
// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ָ<EFBFBD><D6B8><EFBFBD><EFBFBD>ɫ<EFBFBD><C9AB>Ӧ<EFBFBD>ĻҶ<C4BB>ֵ<EFBFBD><D6B5>ɫ
static COLORREF getGray(COLORREF color);
};
} // End of easy2d namespace