fltk/fluid/CodeEditor.h
Ian MacArthur 6f4c59079f 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
2012-04-13 14:45:18 +00:00

84 lines
2.0 KiB
C++

//
// "$Id$"
//
// Code editor widget for the Fast Light Tool Kit (FLTK).
//
// Copyright 1998-2010 by Bill Spitzak and others.
//
// This library is free software. Distribution and use rights are outlined in
// the file "COPYING" which should have been included with this file. If this
// file is missing or damaged, see the license at:
//
// http://www.fltk.org/COPYING.php
//
// Please report all bugs and problems on the following page:
//
// http://www.fltk.org/str.php
//
#ifndef CodeEditor_h
# define CodeEditor_h
//
// Include necessary headers...
//
# include <stdio.h>
# include <stdlib.h>
# include <string.h>
# include <ctype.h>
# include <FL/Fl.H>
# include <FL/Fl_Text_Buffer.H>
# include <FL/Fl_Text_Editor.H>
class CodeEditor : public Fl_Text_Editor {
static Fl_Text_Display::Style_Table_Entry styletable[];
static const char * const code_keywords[];
static const char * const code_types[];
// 'compare_keywords()' - Compare two keywords...
static int compare_keywords(const void *a, const void *b);
// 'style_parse()' - Parse text and produce style data.
static void style_parse(const char *text, char *style, int length);
// 'style_unfinished_cb()' - Update unfinished styles.
static void style_unfinished_cb(int, void*);
// 'style_update()' - Update the style buffer...
static void style_update(int pos, int nInserted, int nDeleted,
int /*nRestyled*/, const char * /*deletedText*/,
void *cbArg);
static int auto_indent(int, CodeEditor* e);
public:
CodeEditor(int X, int Y, int W, int H, const char *L=0);
~CodeEditor();
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 {
public:
CodeViewer(int X, int Y, int W, int H, const char *L=0);
protected:
int handle(int ev) { return Fl_Text_Display::handle(ev); }
};
#endif // !CodeEditor_h
//
// End of "$Id$".
//