DXフレームワーク　リファレンス・マニュアル 0.01 DXフレームワークのリファレンスです。詳細は公式wiki

- メインページ
- 関連ページ
- クラス
- ファイル

- ファイル一覧

Font.h
1 #pragma once
2 #include <DxLib.h>
3 #include <string>
4 #include <stdio.h>
5 #include <stdlib.h>
6 #include <stdarg.h>
7 #include "IFont.h"
8 #define NULL_HANDLE -1
9
10 namespace DXFW
11 {
13 enum class FontType
14 {
15 Normal = DX_FONTTYPE_NORMAL,
16 Edge = DX_FONTTYPE_EDGE,
17 AntiAliase = DX_FONTTYPE_ANTIALIASING,
18 AntiAliaseEdge = DX_FONTTYPE_ANTIALIASING_EDGE,
19 };
20
35 class Font : public IFont
36 {
37 private:
38 int size;
39 int thick;
40 int handle;
41 int enterHeight;
42 public:
43 Font():
44 size(0),
45 thick(0),
46 handle(NULL_HANDLE),
47 enterHeight(0)
48 {}
49
52 Font(const char *フォント名,int 大きさ ,int 太さ , int 改行高さ, FontType フォントタイプ = FontType::Normal)
53 {
54 Font::Load( フォント名 , 大きさ , 太さ , 改行高さ , フォントタイプ);
55 }
56
60 bool Load(const char *フォント名,int 大きさ ,int 太さ , int 改行高さ, FontType フォントタイプ = FontType::Normal)
61 {
62 if( this->handle != NULL_HANDLE ) DxLib::DeleteFontToHandle(this->handle);
63 this->handle = DxLib::CreateFontToHandle(フォント名,大きさ,太さ,(int)フォントタイプ);
64 this->size = 大きさ;
65 this->thick = 太さ;
66 this->enterHeight = 改行高さ;
67 return ( handle != -1 );
68 }
69
71 bool Release() const
72 {
73 return !DxLib::DeleteFontToHandle(this->handle);
74 }
75
77 int GetHandle() const
78 {
79 return this->handle;
80 }
81
83 int GetSize() const
84 {
85 return this->size;
86 }
87
89 int Getthick() const
90 {
91 return this->thick;
92 }
93
95 int GetDrawStringWidth(int strLen ,const char *str , ... ) const
96 {
97 char bufstr[1024];
98
99 va_list args;
100 va_start(args,str);
101 vsprintf_s( bufstr , 1024,str, args );
102 va_end(args);
103
104 return DxLib::GetDrawStringWidthToHandle(bufstr,strLen,this->handle);
105 }
106
108 bool Draw(int x , int y , int rgb ,const char *str , ...) const
109 {
110 //改行コード有効
111 char bufstr[1024];
112 va_list args;
113 va_start(args,str);
114 vsprintf_s( bufstr , 1024 ,str, args );
115 va_end(args);
116
117
118 char *pstr,*stro;
119 strcpy_s(bufstr,1024,str);
120
121 stro = strtok_s(bufstr,"\n",&pstr);
122
123 while(stro != NULL)
124 {
125 DxLib::DrawStringToHandle(x,y,stro,rgb,handle);
126 stro = strtok_s(NULL,"\n",&pstr);
127 y += this->enterHeight;
128 }
129
130 return true;
131 }
132 bool ZMask(int x , int y , ZMaskType Zマスクタイプ , const char *str , ...) const
133 {
134 //改行コード有効
135 char bufstr[1024];
136 va_list args;
137 va_start(args,str);
138 vsprintf_s( bufstr , 1024 ,str, args );
139 va_end(args);
140
141 char *pstr,*stro;
142 strcpy_s(bufstr,1024,str);
143
144 stro = strtok_s(bufstr,"\n",&pstr);
145
146 while(stro != NULL)
147 {
148 DxLib::DrawStringToHandleToZBuffer(x,y,stro,handle, (int)Zマスクタイプ);
149 stro = strtok_s(NULL,"\n",&pstr);
150 y += this->enterHeight;
151 }
152
153 return true;
154 }
155
156
158 bool DrawExtend(int x , int y , double extRateX , double extRateY , int rgb ,const char *str , ... ) const
159 {
160 char bufstr[1024];
161 va_list args;
162 va_start(args,str);
163 vsprintf_s( bufstr , 1024 ,str, args );
164 va_end(args);
165
166 char *pstr,*stro;
167 strcpy_s(bufstr,1024,str);
168
169 stro = strtok_s(bufstr,"\n",&pstr);
170
171 while(stro != NULL)
172 {
173 DxLib::DrawExtendStringToHandle(x,y,extRateX , extRateY , stro , rgb , handle );
174 stro = strtok_s(NULL,"\n",&pstr);
175 y += this->enterHeight;
176 }
177
178 return true;
179 }
180 bool ZMaskExtend(int x , int y , double extRateX , double extRateY , ZMaskType Zマスクタイプ ,const char *str , ...) const
181 {
182 char bufstr[1024];
183 va_list args;
184 va_start(args,str);
185 vsprintf_s( bufstr , 1024 ,str, args );
186 va_end(args);
187
188 char *pstr,*stro;
189 strcpy_s(bufstr,1024,str);
190
191 stro = strtok_s(bufstr,"\n",&pstr);
192
193 while(stro != NULL)
194 {
195 DxLib::DrawExtendStringToHandleToZBuffer(x,y,extRateX , extRateY , stro , handle , (int)Zマスクタイプ );
196 stro = strtok_s(NULL,"\n",&pstr);
197 y += this->enterHeight;
198 }
199
200 return true;
201 }
202 };
203 }
DXFW::Font::ZMask
bool ZMask(int x, int y, ZMaskType Zマスクタイプ, const char *str,...) const
summary&gt;拡大率を指定して文字を描画
Definition: Font.h:132
DXFW::Font::DrawExtend
bool DrawExtend(int x, int y, double extRateX, double extRateY, int rgb, const char *str,...) const
拡大率を指定して文字を描画
Definition: Font.h:158
DXFW::Font::GetDrawStringWidth
int GetDrawStringWidth(int strLen, const char *str,...) const
描画時の幅を取得
Definition: Font.h:95
DXFW::Font
Definition: Font.h:35
DXFW::Font::Load
bool Load(const char *フォント名, int 大きさ, int 太さ, int 改行高さ, FontType フォントタイプ=FontType::Normal)
summary&gt;フォントをメモリから開放する
Definition: Font.h:60
DXFW::ZMaskType
ZMaskType
Zマスクの種類
Definition: Image.h:12
DXFW::Font::Release
bool Release() const
summary&gt;フォントのハンドルを取得
Definition: Font.h:71
DXFW::Font::Getthick
int Getthick() const
太さを取得
Definition: Font.h:89
DXFW::Font::Font
Font(const char *フォント名, int 大きさ, int 太さ, int 改行高さ, FontType フォントタイプ=FontType::Normal)
Definition: Font.h:52
DXFW::Font::GetSize
int GetSize() const
大きさを取得
Definition: Font.h:83
DXFW::FontType
FontType
フォントの種類
Definition: Font.h:13
DXFW::IFont
説明
Definition: IFont.h:18
DXFW::Font::Font
Font()
Definition: Font.h:43
DXFW::Font::Draw
bool Draw(int x, int y, int rgb, const char *str,...) const
書式付きで文字を描画
Definition: Font.h:108