OpenTTD
textfile_gui.h
Go to the documentation of this file.
1 /* $Id: textfile_gui.h 25816 2013-10-06 11:29:14Z frosch $ */
2 
3 /*
4  * This file is part of OpenTTD.
5  * OpenTTD is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, version 2.
6  * OpenTTD is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
7  * See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with OpenTTD. If not, see <http://www.gnu.org/licenses/>.
8  */
9 
12 #ifndef TEXTFILE_GUI_H
13 #define TEXTFILE_GUI_H
14 
15 #include "fileio_type.h"
16 #include "strings_func.h"
17 #include "textfile_type.h"
18 #include "window_gui.h"
19 
20 const char *GetTextfile(TextfileType type, Subdirectory dir, const char *filename);
21 
27  char *text;
30 
31  static const int TOP_SPACING = WD_FRAMETEXT_TOP;
32  static const int BOTTOM_SPACING = WD_FRAMETEXT_BOTTOM;
33 
34  TextfileWindow(TextfileType file_type);
35  virtual ~TextfileWindow();
36  virtual void UpdateWidgetSize(int widget, Dimension *size, const Dimension &padding, Dimension *fill, Dimension *resize);
37  virtual void OnClick(Point pt, int widget, int click_count);
38  virtual void DrawWidget(const Rect &r, int widget) const;
39  virtual void OnResize();
40  virtual void Reset();
41  virtual FontSize DefaultSize();
42  virtual const char *NextString();
43  virtual bool Monospace();
44  virtual void SetFontNames(FreeTypeSettings *settings, const char *font_name);
45  virtual void LoadTextfile(const char *textfile, Subdirectory dir);
46 private:
47  uint GetContentHeight();
48  void SetupScrollbars();
49 };
50 
51 #endif /* TEXTFILE_GUI_H */
Functions related to OTTD&#39;s strings.
ResizeInfo resize
Resize information.
Definition: window_gui.h:317
virtual void UpdateWidgetSize(int widget, Dimension *size, const Dimension &padding, Dimension *fill, Dimension *resize)
Update size and resize step of a widget in the window.
Subdirectory
The different kinds of subdirectories OpenTTD uses.
Definition: fileio_type.h:110
char * text
Lines of text from the NewGRF&#39;s textfile.
Definition: textfile_gui.h:27
Scrollbar data structure.
Definition: widget_type.h:589
virtual void Reset()
Reset the search, i.e.
virtual FontSize DefaultSize()
Get the default (font) size of the string.
Functions, definitions and such used only by the GUI.
Settings for the freetype fonts.
Definition: fontcache.h:204
Types for Standard In/Out file operations.
Data structure for an opened window.
Definition: window_gui.h:271
virtual void DrawWidget(const Rect &r, int widget) const
Draw the contents of a nested widget.
Bottom offset of the text of the frame.
Definition: window_gui.h:75
uint GetContentHeight()
Get the total height of the content displayed in this window, if wrapping is disabled.
uint search_iterator
Iterator for the font check search.
Definition: textfile_gui.h:29
virtual bool Monospace()
Whether to search for a monospace font or not.
A searcher for missing glyphs.
Definition: strings_func.h:246
static const int BOTTOM_SPACING
Additional spacing at the bottom of the WID_TF_BACKGROUND widget.
Definition: textfile_gui.h:32
virtual void OnClick(Point pt, int widget, int click_count)
A click with the left mouse button has been made on the window.
virtual void LoadTextfile(const char *textfile, Subdirectory dir)
Loads the textfile text from file and setup lines.
TextfileType
Additional text files accompanying Tar archives.
Definition: textfile_type.h:16
Top offset of the text of the frame.
Definition: window_gui.h:74
static const int TOP_SPACING
Additional spacing at the top of the WID_TF_BACKGROUND widget.
Definition: textfile_gui.h:31
Scrollbar * hscroll
Horizontal scrollbar.
Definition: textfile_gui.h:26
void SetupScrollbars()
Set scrollbars to the right lengths.
Window for displaying a textfile.
Definition: textfile_gui.h:23
virtual void SetFontNames(FreeTypeSettings *settings, const char *font_name)
Set the right font names.
TextfileType file_type
Type of textfile to view.
Definition: textfile_gui.h:24
FontSize
Available font sizes.
Definition: gfx_type.h:203
Scrollbar * vscroll
Vertical scrollbar.
Definition: textfile_gui.h:25
virtual void OnResize()
Called after the window got resized.
Coordinates of a point in 2D.
const char * GetTextfile(TextfileType type, Subdirectory dir, const char *filename)
Search a textfile file next to the given content.
Specification of a rectangle with absolute coordinates of all edges.
virtual const char * NextString()
Get the next string to search through.
Types related to textfiles.
Dimensions (a width and height) of a rectangle in 2D.
SmallVector< const char *, 64 > lines
text, split into lines in a table with lines.
Definition: textfile_gui.h:28