[add] Added Font and FontSet.
This commit is contained in:
parent
957f9724db
commit
ac37fbf3e5
BIN
.bin/fonts/SourceHanSansJP-Heavy.otf
Normal file
BIN
.bin/fonts/SourceHanSansJP-Heavy.otf
Normal file
Binary file not shown.
1
.gitignore
vendored
1
.gitignore
vendored
@ -1,5 +1,6 @@
|
||||
.dub
|
||||
.bin
|
||||
!/.bin
|
||||
dub.selections.json
|
||||
|
||||
*.swp
|
||||
|
@ -2,6 +2,7 @@
|
||||
import std;
|
||||
|
||||
import derelict.sfml2.audio,
|
||||
derelict.sfml2.graphics,
|
||||
derelict.sfml2.system,
|
||||
derelict.sfml2.window;
|
||||
|
||||
@ -61,9 +62,10 @@ private KeyInput GetKeyInput() {
|
||||
}
|
||||
|
||||
private auto CreateWindow(ref in Args args) {
|
||||
DerelictSFML2Audio .load();
|
||||
DerelictSFML2Graphics.load();
|
||||
DerelictSFML2System .load();
|
||||
DerelictSFML2Window .load();
|
||||
DerelictSFML2Audio .load();
|
||||
|
||||
sfContextSettings specs;
|
||||
specs.depthBits = 24;
|
||||
|
31
src/sj/Font.d
Normal file
31
src/sj/Font.d
Normal file
@ -0,0 +1,31 @@
|
||||
/// License: MIT
|
||||
module sj.Font;
|
||||
|
||||
import std.exception,
|
||||
std.format,
|
||||
std.string;
|
||||
|
||||
import derelict.sfml2.graphics;
|
||||
|
||||
import gl4d;
|
||||
|
||||
///
|
||||
class Font {
|
||||
public:
|
||||
///
|
||||
this(string path) {
|
||||
font_ = sfFont_createFromFile(path.toStringz).
|
||||
enforce("failed creating font from %s".format(path));
|
||||
}
|
||||
~this() {
|
||||
sfFont_destroy(font_);
|
||||
}
|
||||
|
||||
///
|
||||
Texture2DRef Render(string text, size_t px) {
|
||||
assert(false);
|
||||
}
|
||||
|
||||
private:
|
||||
sfFont* font_;
|
||||
}
|
26
src/sj/FontSet.d
Normal file
26
src/sj/FontSet.d
Normal file
@ -0,0 +1,26 @@
|
||||
/// License: MIT
|
||||
module sj.FontSet;
|
||||
|
||||
import std.file,
|
||||
std.path;
|
||||
|
||||
import sj.Font;
|
||||
|
||||
///
|
||||
class FontSet {
|
||||
public:
|
||||
///
|
||||
this() {
|
||||
const dir = thisExePath.dirName;
|
||||
|
||||
gothic_heavy_ = new Font(dir~"/fonts/SourceHanSansJP-Heavy.otf");
|
||||
}
|
||||
|
||||
///
|
||||
@property Font gothicHeavy() {
|
||||
return gothic_heavy_;
|
||||
}
|
||||
|
||||
private:
|
||||
Font gothic_heavy_;
|
||||
}
|
@ -2,6 +2,7 @@
|
||||
module sj.Game;
|
||||
|
||||
import sj.AbstractGame,
|
||||
sj.FontSet,
|
||||
sj.LobbyWorld,
|
||||
sj.ProgramSet,
|
||||
sj.TitleScene;
|
||||
@ -12,6 +13,7 @@ class Game : AbstractGame {
|
||||
///
|
||||
this() {
|
||||
programs_ = new ProgramSet;
|
||||
fonts_ = new FontSet;
|
||||
|
||||
lobby_ = new LobbyWorld(programs_);
|
||||
|
||||
@ -32,6 +34,8 @@ class Game : AbstractGame {
|
||||
private:
|
||||
ProgramSet programs_;
|
||||
|
||||
FontSet fonts_;
|
||||
|
||||
LobbyWorld lobby_;
|
||||
|
||||
TitleScene title_;
|
||||
|
Reference in New Issue
Block a user