PEBL 2.2
Psychology Experiment Building Language - Cross-platform psychological experiment development system
validator/PlatformFont.cpp
Go to the documentation of this file.
1//* -*- mode:C++; tab-width:4; c-basic-offset:4; indent-tabs-mode:nil -*- */
3// Name: platforms/validator/PlatformFont.cpp
4// Purpose: Validator Platform Font Implementation
5// Author: Shane T. Mueller, Ph.D.
6// Copyright: (c) 2025 Shane T. Mueller <smueller@obereed.net>
7// License: GPL 2
8//
9// This file is part of the PEBL project.
10//
11// PEBL is free software; you can redistribute it and/or modify
12// it under the terms of the GNU General Public License as published by
13// the Free Software Foundation; either version 2 of the License, or
14// (at your option) any later version.
15//
16// PEBL is distributed in the hope that it will be useful,
17// but WITHOUT ANY WARRANTY; without even the implied warranty of
18// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
19// GNU General Public License for more details.
20//
21// You should have received a copy of the GNU General Public License
22// along with PEBL; if not, write to the Free Software
23// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
25#include "PlatformFont.h"
26
27PlatformFont::PlatformFont(const std::string& filename)
28 : PFont(filename, 0, 18, PColor(0,0,0,255), PColor(255,255,255,255), true) {
29}
30
31PlatformFont::PlatformFont(const std::string& filename, int style, int size,
32 PColor fgcolor, PColor bgcolor, bool aa)
33 : PFont(filename, style, size, fgcolor, bgcolor, aa) {
34}
35
37 : PFont(font) {
38}
39
41}
42
43unsigned int PlatformFont::GetTextWidth(const std::string& text) {
44 // Dummy metric: text length * size * 0.6
45 return static_cast<unsigned int>(text.length() * mFontSize * 0.6);
46}
47
48unsigned int PlatformFont::GetTextHeight(const std::string& text) {
49 // Dummy metric: font size
50 return static_cast<unsigned int>(mFontSize);
51}
52
53std::ostream& PlatformFont::SendToStream(std::ostream& out) const {
54 out << "PlatformFont (validator)";
55 return out;
56}
Definition PFont.h:53
int mFontSize
Definition PFont.h:106
unsigned int GetTextHeight(const std::string &text)
virtual std::ostream & SendToStream(std::ostream &out) const
This sends the font descriptions to the specified stream.
PlatformFont(const std::string &filename)
unsigned int GetTextWidth(const std::string &text)
virtual ~PlatformFont()
Copy constructor.