本文整理汇总了C++中Font::GenerateText方法的典型用法代码示例。如果您正苦于以下问题:C++ Font::GenerateText方法的具体用法?C++ Font::GenerateText怎么用?C++ Font::GenerateText使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Font
的用法示例。
在下文中一共展示了Font::GenerateText方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: main
int main()
{
Jatta::Matrix wee;
wee[1][2] = 5;
std::cout << wee << std::endl;
try
{
// Setup the window
WindowStyle style;
style.title = "A Quick Brown Fox Jumps Over The Lazy Dog";
style.width = 800;
style.height = 350;
style.backgroundColor = Colors::black;
style.resizable = false;
Window window;
window.Create(style);
// Create the OpenGL context
OpenGL::Context context;
context.Create(&window);
OpenGL::Program program = LoadShader("Resources/screen.vert", "Resources/screen.frag");
Font font;
if (font.Load("Resources/Arial.ttf") == -1)
{ throw std::runtime_error("Failed to load 'Resources/Arial.ttf'."); }
if (font.Load("Resources/epgyosho.ttf") == -1)
{ throw std::runtime_error("Failed to load 'Resources/epgyosho.ttf'."); }
if (font.Load("Resources/LastResort.ttf") == -1)
{ throw std::runtime_error("Failed to load 'Resources/LastResort.ttf'."); }
font.SetStyle(FontStyles::OBLIQUE | FontStyles::UNDERLINED);
Image image[22];
OpenGL::Texture texture[22];
OpenGL::VertexArray box[22];
for (unsigned int i = 7; i < 27; ++i)
{
font.SetSize(i);
image[i-7] = font.GenerateText(Jatta::Colors::white,"A Quick Brown Fox Jumps Over The Lazy Dog 0123456789");
texture[i-7].Create(OpenGL::GL::TEXTURE_2D);
texture[i-7].Bind();
texture[i-7].SetTextureWrapS(OpenGL::GL::REPEAT);
texture[i-7].SetTextureWrapT(OpenGL::GL::REPEAT);
texture[i-7].SetMinFilter(OpenGL::GL::LINEAR);
texture[i-7].SetMagFilter(OpenGL::GL::LINEAR);
texture[i-7].Image2D(0, OpenGL::GL::RGBA, image[i-7].GetWidth(), image[i-7].GetHeight(), 0, OpenGL::GL::RGBA, OpenGL::GL::UNSIGNED_BYTE, image[i-7].GetData());
texture[i-7].Unbind();
box[i-7] = MakeBox(Float2(image[i-7].GetWidth(), image[i-7].GetHeight()));
}
font.SetSize(16);
font.SetStyle(FontStyles::OVERLINED | FontStyles::UNDERLINED);
image[21] = font.GenerateText(Jatta::Colors::white,"こんにちわ");
texture[21].Create(OpenGL::GL::TEXTURE_2D);
texture[21].Bind();
texture[21].SetTextureWrapS(OpenGL::GL::REPEAT);
texture[21].SetTextureWrapT(OpenGL::GL::REPEAT);
texture[21].SetMinFilter(OpenGL::GL::LINEAR);
texture[21].SetMagFilter(OpenGL::GL::LINEAR);
texture[21].Image2D(0, OpenGL::GL::RGBA, image[21].GetWidth(), image[21].GetHeight(), 0, OpenGL::GL::RGBA, OpenGL::GL::UNSIGNED_BYTE, image[21].GetData());
texture[21].Unbind();
box[21] = MakeBox(Float2(image[21].GetWidth(), image[21].GetHeight()));
while (window.IsOpen())
{
Window::Update();
context.Viewport(0, 0, window.GetWidth(), window.GetHeight());
context.Clear(OpenGL::GL::COLOR_BUFFER_BIT | OpenGL::GL::DEPTH_BUFFER_BIT);
UInt32 y = 0;
program.Bind();
OpenGL::Program::UniformMatrix4f(program.GetUniformLocation("orthoMatrix"), false, Matrix::MakeOrtho(0, window.GetWidth(), window.GetHeight(), 0));
for (unsigned int i = 7; i < 27; ++i)
{
OpenGL::Program::UniformMatrix4f(program.GetUniformLocation("modelMatrix"), false, Matrix::MakeTranslation(Float2(0,y)));
OpenGL::Program::Uniform1i(program.GetUniformLocation("texture"), texture[i-7].GetID());
OpenGL::ClearErrors();
OpenGL::Texture::Active(texture[i-7].GetID());
texture[i-7].Bind();
box[i-7].Bind();
box[i-7].DrawArrays(OpenGL::GL::QUADS, 0, 4);
box[i-7].Unbind();
y += image[i-7].GetHeight();
}
OpenGL::Program::UniformMatrix4f(program.GetUniformLocation("modelMatrix"), false, Matrix::MakeTranslation(Float2(800-image[21].GetWidth(),0)));
OpenGL::Program::Uniform1i(program.GetUniformLocation("texture"), texture[21].GetID());
OpenGL::ClearErrors();
OpenGL::Texture::Active(texture[21].GetID());
texture[21].Bind();
box[21].Bind();
box[21].DrawArrays(OpenGL::GL::QUADS, 0, 4);
box[21].Unbind();
//.........这里部分代码省略.........