Browse Source

This change to fluid's CodeEditor ought to make it honour textsize changes

that are applied at text buffer creation.

How effective this will be for etxtsize changes that occur later is
another question, but this corrects a problem identified in the
thread "Re: [fltk.general] FLUID fonts earlier



git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@9341 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
pull/49/head
Ian MacArthur 13 years ago
parent
commit
6f4c59079f
  1. 10
      fluid/CodeEditor.cxx
  2. 6
      fluid/CodeEditor.h

10
fluid/CodeEditor.cxx

@ -114,6 +114,16 @@ const char * const CodeEditor::
"volatile" "volatile"
}; };
// attempt to make the fluid code editor widget honour textsize setting
void CodeEditor::textsize(Fl_Fontsize s) {
Fl_Text_Editor::textsize(s); // call base class method
// now attempt to update our styletable to honour the new size...
int entries = sizeof(styletable) / sizeof(styletable[0]);
for(int iter = 0; iter < entries; iter++) {
styletable[iter].size = s;
}
} // textsize
// 'compare_keywords()' - Compare two keywords... // 'compare_keywords()' - Compare two keywords...
int CodeEditor::compare_keywords(const void *a, const void *b) { int CodeEditor::compare_keywords(const void *a, const void *b) {

6
fluid/CodeEditor.h

@ -59,6 +59,10 @@ class CodeEditor : public Fl_Text_Editor {
CodeEditor(int X, int Y, int W, int H, const char *L=0); CodeEditor(int X, int Y, int W, int H, const char *L=0);
~CodeEditor(); ~CodeEditor();
int top_line() { return get_absolute_top_line_number(); } int top_line() { return get_absolute_top_line_number(); }
// attempt to make the fluid code editor widget honour textsize setting
void textsize(Fl_Fontsize s);
}; };
class CodeViewer : public CodeEditor { class CodeViewer : public CodeEditor {
@ -66,7 +70,7 @@ class CodeViewer : public CodeEditor {
public: public:
CodeViewer(int X, int Y, int W, int H, const char *L=0); CodeViewer(int X, int Y, int W, int H, const char *L=0);
protected: protected:
int handle(int ev) { return Fl_Text_Display::handle(ev); } int handle(int ev) { return Fl_Text_Display::handle(ev); }

Loading…
Cancel
Save