-#ifdef HAVE_CONFIG_H
-#include "../config.h"
-#endif // HAVE_CONFIG_H
+// -*- mode: C++; indent-tabs-mode: nil; c-basic-offset: 2; -*-
+
+#ifdef HAVE_CONFIG_H
+# include "../config.h"
+#endif
#include <assert.h>
-#include "display.hh"
+#include <iostream>
+#include "display.hh"
#include "util.hh"
#include "style.hh"
{
}
-Style::Style(unsigned int screen)
- : font(0), screen_number(screen)
-{
-}
-
-Style::Style(unsigned int screen, BImageControl *ctrl)
- : image_control(ctrl), font(0), screen_number(screen)
+Style::Style(BImageControl *ctrl)
+ : image_control(ctrl), font(0),
+ screen_number(ctrl->getScreenInfo()->getScreenNumber())
{
}
stick_button.mask = None;
}
-void Style::load(Configuration &style) {
+void Style::load(const Configuration &style) {
std::string s;
// load fonts/fontsets
}
-void Style::doJustify(const std::string &text, int &start_pos,
- unsigned int max_length,
- unsigned int modifier) const {
- size_t text_len = text.size();
- unsigned int length;
-
- do {
- length = font->measureString(std::string(text, 0, text_len)) + modifier;
- } while (length > max_length && text_len-- > 0);
-
- switch (justify) {
- case RightJustify:
- start_pos += max_length - length;
- break;
-
- case CenterJustify:
- start_pos += (max_length - length) / 2;
- break;
-
- case LeftJustify:
- default:
- break;
- }
-}
-
-
void Style::readDatabaseMask(const std::string &rname, PixmapMask &pixmapMask,
const Configuration &style) {
Window root_window = OBDisplay::screenInfo(screen_number)->getRootWindow();
BFont *Style::readDatabaseFont(const std::string &rbasename,
- const Configuration &style) {
+ const Configuration &style) {
std::string fontname;
std::string s;
return b;
delete b;
}
-
+
+ if (style.getValue(rbasename + "xft.font", s))
+ printf("Unable to load font \"%s\". Exiting\n", s.c_str());
+ else
+ printf("Font not defined by style. Exiting\n");
exit(2); // can't continue without a font
}