Files
@ r14895:fb237f7e7f5b
Branch filter:
Location: cpp/openttd-patchpack/source/src/textbuf_gui.h - annotation
r14895:fb237f7e7f5b
2.7 KiB
text/x-c
(svn r19502) -Codechange: During NewGRF loading, store rail type labels in temporary data and process after loading has finished. This avoids deactivated rail vehicles being reactivated if the climate property is set after the rail type property.
r8107:82461791b7a2 r8107:82461791b7a2 r12768:980ae0491352 r12768:980ae0491352 r12768:980ae0491352 r12768:980ae0491352 r12768:980ae0491352 r12768:980ae0491352 r12768:980ae0491352 r8107:82461791b7a2 r8107:82461791b7a2 r8107:82461791b7a2 r8107:82461791b7a2 r8107:82461791b7a2 r8107:82461791b7a2 r8214:9a3935f9ef4e r8737:36bd0e7321ea r10145:99ade42f8be3 r8107:82461791b7a2 r8107:82461791b7a2 r10276:22abdd1aa57a r10276:22abdd1aa57a r10276:22abdd1aa57a r10276:22abdd1aa57a r10276:22abdd1aa57a r10276:22abdd1aa57a r8107:82461791b7a2 r8107:82461791b7a2 r8107:82461791b7a2 r8107:82461791b7a2 r8107:82461791b7a2 r8107:82461791b7a2 r8107:82461791b7a2 r8107:82461791b7a2 r8107:82461791b7a2 r10276:22abdd1aa57a r8107:82461791b7a2 r8107:82461791b7a2 r10145:99ade42f8be3 r10145:99ade42f8be3 r10148:ec65442a5187 r10145:99ade42f8be3 r10148:ec65442a5187 r10145:99ade42f8be3 r10145:99ade42f8be3 r10145:99ade42f8be3 r10145:99ade42f8be3 r10145:99ade42f8be3 r9319:262ad05ddd6b r9319:262ad05ddd6b r10145:99ade42f8be3 r9319:262ad05ddd6b r8107:82461791b7a2 r8737:36bd0e7321ea r8737:36bd0e7321ea r8737:36bd0e7321ea r8737:36bd0e7321ea r8737:36bd0e7321ea r8737:36bd0e7321ea r8737:36bd0e7321ea r8737:36bd0e7321ea r8737:36bd0e7321ea r8737:36bd0e7321ea r8107:82461791b7a2 | /* $Id$ */
/*
* This file is part of OpenTTD.
* 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.
* 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.
* 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/>.
*/
/** @file textbuf_gui.h Stuff related to the text buffer GUI. */
#ifndef TEXTBUF_GUI_H
#define TEXTBUF_GUI_H
#include "window_type.h"
#include "string_type.h"
#include "strings_type.h"
#include "core/enum_type.hpp"
struct Textbuf {
char *buf; ///< buffer in which text is saved
uint16 maxsize, maxwidth; ///< the maximum size of the buffer. Maxwidth specifies screensize in pixels, maxsize is in bytes (including terminating '\0')
uint16 size, width; ///< the current size of the string. Width specifies screensize in pixels, size is in bytes
bool caret; ///< is the caret ("_") visible or not
uint16 caretpos; ///< the current position of the caret in the buffer, in bytes
uint16 caretxoffs; ///< the current position of the caret in pixels
};
bool HandleCaret(Textbuf *tb);
void DeleteTextBufferAll(Textbuf *tb);
bool DeleteTextBufferChar(Textbuf *tb, int delmode);
bool InsertTextBufferChar(Textbuf *tb, uint32 key);
bool InsertTextBufferClipboard(Textbuf *tb);
bool MoveTextBufferPos(Textbuf *tb, int navmode);
void InitializeTextBuffer(Textbuf *tb, char *buf, uint16 maxsize, uint16 maxwidth);
void UpdateTextBufferSize(Textbuf *tb);
/** Flags used in ShowQueryString() call */
enum QueryStringFlags {
QSF_NONE = 0,
QSF_ACCEPT_UNCHANGED = 0x01, ///< return success even when the text didn't change
QSF_ENABLE_DEFAULT = 0x02, ///< enable the 'Default' button ("\0" is returned)
};
DECLARE_ENUM_AS_BIT_SET(QueryStringFlags)
typedef void QueryCallbackProc(Window*, bool);
void ShowQueryString(StringID str, StringID caption, uint maxlen, uint maxwidth, Window *parent, CharSetFilter afilter, QueryStringFlags flags);
void ShowQuery(StringID caption, StringID message, Window *w, QueryCallbackProc *callback);
/** The number of 'characters' on the on-screen keyboard. */
static const uint OSK_KEYBOARD_ENTRIES = 50;
/**
* The number of characters has to be OSK_KEYBOARD_ENTRIES. However, these
* have to be UTF-8 encoded, which means up to 4 bytes per character.
* Furthermore the string needs to be '\0'-terminated.
*/
extern char _keyboard_opt[2][OSK_KEYBOARD_ENTRIES * 4 + 1];
#endif /* TEXTBUF_GUI_H */
|