diff options
author | Darkvater <darkvater@openttd.org> | 2005-02-21 18:59:54 +0000 |
---|---|---|
committer | Darkvater <darkvater@openttd.org> | 2005-02-21 18:59:54 +0000 |
commit | d865c55007321366d49b9b3d49eb0d61715dfc98 (patch) | |
tree | ac473756965e88790f53e13ff4589035499ce9c1 /window.h | |
parent | 0d8dcacee2dbd1ae639f8851a2847b3806c7da16 (diff) | |
download | openttd-d865c55007321366d49b9b3d49eb0d61715dfc98.tar.xz |
(svn r1894) - Codechange: cleaned up the console a bit, wholly unified handling of text with that of editboxes
- Codechange: Introduction of Textbuf struct which not only holds physical data as length but also pixel-constrains (width) and information about the caret
- Codechange: Move Clipboard function to OS specific file. Currently only Windows has clipboard actions
- Feature: Editboxes, console and exit screen also accept the numeric-enter as a yes
- Feature: Navigation through text with cursor keys is possible, as well as arbitrary insertion (also paste) and deletion; both backspace and del keys. Functions DeleteTextBufferChar, InsertTextBufferChar and InsertTextBufferClipboard handle input and deletion. Navigation is done through MoveTextBufferPos.
- Fix: OTTD crash when opening 'add server' editbox
- CodeChange: fix up some stringwidth calculations in gfx.c. You can get the width in pixels of a character by calling GetCharacterWidth().
Diffstat (limited to 'window.h')
-rw-r--r-- | window.h | 13 |
1 files changed, 10 insertions, 3 deletions
@@ -222,13 +222,20 @@ enum { WDP_CENTER = -2, }; +typedef struct Textbuf { + char *buf; /* buffer in which text is saved */ + uint16 maxlength, maxwidth; /* the maximum size of the buffer. Maxwidth specifies screensize in pixels */ + uint16 length, width; /* the current size of the buffer. Width specifies screensize in pixels */ + bool caret; /* is the caret ("_") visible or not */ + uint16 caretpos; /* the current position of the caret in the buffer */ + uint16 caretxoffs; /* the current position of the caret in pixels */ +} Textbuf; + typedef struct { StringID caption; - bool caret; WindowClass wnd_class; WindowNumber wnd_num; - uint16 maxlen, maxwidth; - char *buf; + Textbuf text; const char* orig; } querystr_d; |