[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
|
.dub
|
||||||
.bin
|
.bin
|
||||||
|
!/.bin
|
||||||
dub.selections.json
|
dub.selections.json
|
||||||
|
|
||||||
*.swp
|
*.swp
|
||||||
|
@ -2,6 +2,7 @@
|
|||||||
import std;
|
import std;
|
||||||
|
|
||||||
import derelict.sfml2.audio,
|
import derelict.sfml2.audio,
|
||||||
|
derelict.sfml2.graphics,
|
||||||
derelict.sfml2.system,
|
derelict.sfml2.system,
|
||||||
derelict.sfml2.window;
|
derelict.sfml2.window;
|
||||||
|
|
||||||
@ -61,9 +62,10 @@ private KeyInput GetKeyInput() {
|
|||||||
}
|
}
|
||||||
|
|
||||||
private auto CreateWindow(ref in Args args) {
|
private auto CreateWindow(ref in Args args) {
|
||||||
DerelictSFML2System.load();
|
|
||||||
DerelictSFML2Window.load();
|
|
||||||
DerelictSFML2Audio .load();
|
DerelictSFML2Audio .load();
|
||||||
|
DerelictSFML2Graphics.load();
|
||||||
|
DerelictSFML2System .load();
|
||||||
|
DerelictSFML2Window .load();
|
||||||
|
|
||||||
sfContextSettings specs;
|
sfContextSettings specs;
|
||||||
specs.depthBits = 24;
|
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;
|
module sj.Game;
|
||||||
|
|
||||||
import sj.AbstractGame,
|
import sj.AbstractGame,
|
||||||
|
sj.FontSet,
|
||||||
sj.LobbyWorld,
|
sj.LobbyWorld,
|
||||||
sj.ProgramSet,
|
sj.ProgramSet,
|
||||||
sj.TitleScene;
|
sj.TitleScene;
|
||||||
@ -12,6 +13,7 @@ class Game : AbstractGame {
|
|||||||
///
|
///
|
||||||
this() {
|
this() {
|
||||||
programs_ = new ProgramSet;
|
programs_ = new ProgramSet;
|
||||||
|
fonts_ = new FontSet;
|
||||||
|
|
||||||
lobby_ = new LobbyWorld(programs_);
|
lobby_ = new LobbyWorld(programs_);
|
||||||
|
|
||||||
@ -32,6 +34,8 @@ class Game : AbstractGame {
|
|||||||
private:
|
private:
|
||||||
ProgramSet programs_;
|
ProgramSet programs_;
|
||||||
|
|
||||||
|
FontSet fonts_;
|
||||||
|
|
||||||
LobbyWorld lobby_;
|
LobbyWorld lobby_;
|
||||||
|
|
||||||
TitleScene title_;
|
TitleScene title_;
|
||||||
|
Reference in New Issue
Block a user