mirror of
https://github.com/OpenTTD/OpenTTD.git
synced 2025-03-10 08:00:05 +00:00
Codechange: Consistently use WChar when passing characters around, and also define it as char32_t.
This commit is contained in:
parent
43cd892e0c
commit
808c8198d5
@ -105,13 +105,13 @@ SpriteFontCache::~SpriteFontCache()
|
|||||||
this->ClearGlyphToSpriteMap();
|
this->ClearGlyphToSpriteMap();
|
||||||
}
|
}
|
||||||
|
|
||||||
SpriteID SpriteFontCache::GetUnicodeGlyph(GlyphID key)
|
SpriteID SpriteFontCache::GetUnicodeGlyph(WChar key)
|
||||||
{
|
{
|
||||||
if (this->glyph_to_spriteid_map[GB(key, 8, 8)] == nullptr) return 0;
|
if (this->glyph_to_spriteid_map[GB(key, 8, 8)] == nullptr) return 0;
|
||||||
return this->glyph_to_spriteid_map[GB(key, 8, 8)][GB(key, 0, 8)];
|
return this->glyph_to_spriteid_map[GB(key, 8, 8)][GB(key, 0, 8)];
|
||||||
}
|
}
|
||||||
|
|
||||||
void SpriteFontCache::SetUnicodeGlyph(GlyphID key, SpriteID sprite)
|
void SpriteFontCache::SetUnicodeGlyph(WChar key, SpriteID sprite)
|
||||||
{
|
{
|
||||||
if (this->glyph_to_spriteid_map == nullptr) this->glyph_to_spriteid_map = CallocT<SpriteID*>(256);
|
if (this->glyph_to_spriteid_map == nullptr) this->glyph_to_spriteid_map = CallocT<SpriteID*>(256);
|
||||||
if (this->glyph_to_spriteid_map[GB(key, 8, 8)] == nullptr) this->glyph_to_spriteid_map[GB(key, 8, 8)] = CallocT<SpriteID>(256);
|
if (this->glyph_to_spriteid_map[GB(key, 8, 8)] == nullptr) this->glyph_to_spriteid_map[GB(key, 8, 8)] = CallocT<SpriteID>(256);
|
||||||
|
@ -112,7 +112,7 @@ int DrawString(int left, int right, int top, StringID str, TextColour colour = T
|
|||||||
int DrawStringMultiLine(int left, int right, int top, int bottom, const char *str, TextColour colour = TC_FROMSTRING, StringAlignment align = (SA_TOP | SA_LEFT), bool underline = false, FontSize fontsize = FS_NORMAL);
|
int DrawStringMultiLine(int left, int right, int top, int bottom, const char *str, TextColour colour = TC_FROMSTRING, StringAlignment align = (SA_TOP | SA_LEFT), bool underline = false, FontSize fontsize = FS_NORMAL);
|
||||||
int DrawStringMultiLine(int left, int right, int top, int bottom, StringID str, TextColour colour = TC_FROMSTRING, StringAlignment align = (SA_TOP | SA_LEFT), bool underline = false, FontSize fontsize = FS_NORMAL);
|
int DrawStringMultiLine(int left, int right, int top, int bottom, StringID str, TextColour colour = TC_FROMSTRING, StringAlignment align = (SA_TOP | SA_LEFT), bool underline = false, FontSize fontsize = FS_NORMAL);
|
||||||
|
|
||||||
void DrawCharCentered(uint32 c, int x, int y, TextColour colour);
|
void DrawCharCentered(WChar c, int x, int y, TextColour colour);
|
||||||
|
|
||||||
void GfxFillRect(int left, int top, int right, int bottom, int colour, FillRectMode mode = FILLRECT_OPAQUE);
|
void GfxFillRect(int left, int top, int right, int bottom, int colour, FillRectMode mode = FILLRECT_OPAQUE);
|
||||||
void GfxFillPolygon(const std::vector<Point> &shape, int colour, FillRectMode mode = FILLRECT_OPAQUE);
|
void GfxFillPolygon(const std::vector<Point> &shape, int colour, FillRectMode mode = FILLRECT_OPAQUE);
|
||||||
@ -164,7 +164,7 @@ void SortResolutions();
|
|||||||
bool ToggleFullScreen(bool fs);
|
bool ToggleFullScreen(bool fs);
|
||||||
|
|
||||||
/* gfx.cpp */
|
/* gfx.cpp */
|
||||||
byte GetCharacterWidth(FontSize size, uint32 key);
|
byte GetCharacterWidth(FontSize size, WChar key);
|
||||||
byte GetDigitWidth(FontSize size = FS_NORMAL);
|
byte GetDigitWidth(FontSize size = FS_NORMAL);
|
||||||
void GetBroadestDigit(uint *front, uint *next, FontSize size = FS_NORMAL);
|
void GetBroadestDigit(uint *front, uint *next, FontSize size = FS_NORMAL);
|
||||||
|
|
||||||
|
@ -32,7 +32,7 @@ enum CharSetFilter {
|
|||||||
};
|
};
|
||||||
|
|
||||||
/** Type for wide characters, i.e. non-UTF8 encoded unicode characters. */
|
/** Type for wide characters, i.e. non-UTF8 encoded unicode characters. */
|
||||||
typedef uint32 WChar;
|
typedef char32_t WChar;
|
||||||
|
|
||||||
/* The following are directional formatting codes used to get the LTR and RTL strings right:
|
/* The following are directional formatting codes used to get the LTR and RTL strings right:
|
||||||
* http://www.unicode.org/unicode/reports/tr9/#Directional_Formatting_Codes */
|
* http://www.unicode.org/unicode/reports/tr9/#Directional_Formatting_Codes */
|
||||||
|
@ -53,7 +53,7 @@ struct Textbuf {
|
|||||||
void DeleteAll();
|
void DeleteAll();
|
||||||
bool InsertClipboard();
|
bool InsertClipboard();
|
||||||
|
|
||||||
bool InsertChar(uint32 key);
|
bool InsertChar(WChar key);
|
||||||
bool InsertString(const char *str, bool marked, const char *caret = nullptr, const char *insert_location = nullptr, const char *replacement_end = nullptr);
|
bool InsertString(const char *str, bool marked, const char *caret = nullptr, const char *insert_location = nullptr, const char *replacement_end = nullptr);
|
||||||
|
|
||||||
bool DeleteChar(uint16 keycode);
|
bool DeleteChar(uint16 keycode);
|
||||||
|
Loading…
Reference in New Issue
Block a user