iPlug2 - C++ Audio Plug-in Framework
Loading...
Searching...
No Matches
Macros | Typedefs
ITextEntryControl.cpp File Reference

ITextEntryControl implementation. More...

#include "ITextEntryControl.h"
#include "IPlugPlatform.h"
#include "wdlutf8.h"
#include <string>
#include <codecvt>
#include <locale>
#include "stb_textedit.h"

Go to the source code of this file.

Macros

#define VIRTUAL_KEY_BIT   0x80000000
 
#define STB_TEXTEDIT_K_SHIFT   0x40000000
 
#define STB_TEXTEDIT_K_CONTROL   0x20000000
 
#define STB_TEXTEDIT_K_ALT   0x10000000
 
#define STB_TEXTEDIT_K_LEFT   (VIRTUAL_KEY_BIT | kVK_LEFT)
 
#define STB_TEXTEDIT_K_RIGHT   (VIRTUAL_KEY_BIT | kVK_RIGHT)
 
#define STB_TEXTEDIT_K_UP   (VIRTUAL_KEY_BIT | kVK_UP)
 
#define STB_TEXTEDIT_K_DOWN   (VIRTUAL_KEY_BIT | kVK_DOWN)
 
#define STB_TEXTEDIT_K_LINESTART   (VIRTUAL_KEY_BIT | kVK_HOME)
 
#define STB_TEXTEDIT_K_LINEEND   (VIRTUAL_KEY_BIT | kVK_END)
 
#define STB_TEXTEDIT_K_WORDLEFT   (STB_TEXTEDIT_K_LEFT | STB_TEXTEDIT_K_CONTROL)
 
#define STB_TEXTEDIT_K_WORDRIGHT   (STB_TEXTEDIT_K_RIGHT | STB_TEXTEDIT_K_CONTROL)
 
#define STB_TEXTEDIT_K_TEXTSTART   (STB_TEXTEDIT_K_LINESTART | STB_TEXTEDIT_K_CONTROL)
 
#define STB_TEXTEDIT_K_TEXTEND   (STB_TEXTEDIT_K_LINEEND | STB_TEXTEDIT_K_CONTROL)
 
#define STB_TEXTEDIT_K_DELETE   (VIRTUAL_KEY_BIT | kVK_DELETE)
 
#define STB_TEXTEDIT_K_BACKSPACE   (VIRTUAL_KEY_BIT | kVK_BACK)
 
#define STB_TEXTEDIT_K_UNDO   (STB_TEXTEDIT_K_CONTROL | 'z')
 
#define STB_TEXTEDIT_K_REDO   (STB_TEXTEDIT_K_CONTROL | STB_TEXTEDIT_K_SHIFT | 'z')
 
#define STB_TEXTEDIT_K_INSERT   (VIRTUAL_KEY_BIT | kVK_INSERT)
 
#define STB_TEXTEDIT_K_PGUP   (VIRTUAL_KEY_BIT | kVK_PRIOR)
 
#define STB_TEXTEDIT_K_PGDOWN   (VIRTUAL_KEY_BIT | kVK_NEXT)
 
#define STB_TEXTEDIT_STRINGLEN(tc)   ITextEntryControl::GetLength (tc)
 
#define STB_TEXTEDIT_LAYOUTROW   ITextEntryControl::Layout
 
#define STB_TEXTEDIT_GETWIDTH(tc, n, i)   ITextEntryControl::GetCharWidth (tc, n, i)
 
#define STB_TEXTEDIT_KEYTOTEXT(key)   ((key & VIRTUAL_KEY_BIT) ? 0 : ((key & STB_TEXTEDIT_K_CONTROL) ? 0 : (key & (~0xF0000000))));
 
#define STB_TEXTEDIT_GETCHAR(tc, i)   ITextEntryControl::GetChar (tc, i)
 
#define STB_TEXTEDIT_NEWLINE   '\n'
 
#define STB_TEXTEDIT_IS_SPACE(ch)   isspace(ch)
 
#define STB_TEXTEDIT_DELETECHARS   ITextEntryControl::DeleteChars
 
#define STB_TEXTEDIT_INSERTCHARS   ITextEntryControl::InsertChars
 
#define STB_TEXTEDIT_IMPLEMENTATION
 

Typedefs

using StringConvert = std::wstring_convert< std::codecvt_utf8_utf16< char16_t >, char16_t >
 

Detailed Description

ITextEntryControl implementation.

Definition in file ITextEntryControl.cpp.

Macro Definition Documentation

◆ STB_TEXTEDIT_DELETECHARS

#define STB_TEXTEDIT_DELETECHARS   ITextEntryControl::DeleteChars

Definition at line 67 of file ITextEntryControl.cpp.

◆ STB_TEXTEDIT_GETCHAR

#define STB_TEXTEDIT_GETCHAR (   tc,
 
)    ITextEntryControl::GetChar (tc, i)

Definition at line 64 of file ITextEntryControl.cpp.

◆ STB_TEXTEDIT_GETWIDTH

#define STB_TEXTEDIT_GETWIDTH (   tc,
  n,
 
)    ITextEntryControl::GetCharWidth (tc, n, i)

Definition at line 61 of file ITextEntryControl.cpp.

◆ STB_TEXTEDIT_IMPLEMENTATION

#define STB_TEXTEDIT_IMPLEMENTATION

Definition at line 70 of file ITextEntryControl.cpp.

◆ STB_TEXTEDIT_INSERTCHARS

#define STB_TEXTEDIT_INSERTCHARS   ITextEntryControl::InsertChars

Definition at line 68 of file ITextEntryControl.cpp.

◆ STB_TEXTEDIT_IS_SPACE

#define STB_TEXTEDIT_IS_SPACE (   ch)    isspace(ch)

Definition at line 66 of file ITextEntryControl.cpp.

◆ STB_TEXTEDIT_K_ALT

#define STB_TEXTEDIT_K_ALT   0x10000000

Definition at line 39 of file ITextEntryControl.cpp.

◆ STB_TEXTEDIT_K_BACKSPACE

#define STB_TEXTEDIT_K_BACKSPACE   (VIRTUAL_KEY_BIT | kVK_BACK)

Definition at line 52 of file ITextEntryControl.cpp.

◆ STB_TEXTEDIT_K_CONTROL

#define STB_TEXTEDIT_K_CONTROL   0x20000000

Definition at line 38 of file ITextEntryControl.cpp.

◆ STB_TEXTEDIT_K_DELETE

#define STB_TEXTEDIT_K_DELETE   (VIRTUAL_KEY_BIT | kVK_DELETE)

Definition at line 51 of file ITextEntryControl.cpp.

◆ STB_TEXTEDIT_K_DOWN

#define STB_TEXTEDIT_K_DOWN   (VIRTUAL_KEY_BIT | kVK_DOWN)

Definition at line 44 of file ITextEntryControl.cpp.

◆ STB_TEXTEDIT_K_INSERT

#define STB_TEXTEDIT_K_INSERT   (VIRTUAL_KEY_BIT | kVK_INSERT)

Definition at line 55 of file ITextEntryControl.cpp.

◆ STB_TEXTEDIT_K_LEFT

#define STB_TEXTEDIT_K_LEFT   (VIRTUAL_KEY_BIT | kVK_LEFT)

Definition at line 41 of file ITextEntryControl.cpp.

◆ STB_TEXTEDIT_K_LINEEND

#define STB_TEXTEDIT_K_LINEEND   (VIRTUAL_KEY_BIT | kVK_END)

Definition at line 46 of file ITextEntryControl.cpp.

◆ STB_TEXTEDIT_K_LINESTART

#define STB_TEXTEDIT_K_LINESTART   (VIRTUAL_KEY_BIT | kVK_HOME)

Definition at line 45 of file ITextEntryControl.cpp.

◆ STB_TEXTEDIT_K_PGDOWN

#define STB_TEXTEDIT_K_PGDOWN   (VIRTUAL_KEY_BIT | kVK_NEXT)

Definition at line 57 of file ITextEntryControl.cpp.

◆ STB_TEXTEDIT_K_PGUP

#define STB_TEXTEDIT_K_PGUP   (VIRTUAL_KEY_BIT | kVK_PRIOR)

Definition at line 56 of file ITextEntryControl.cpp.

◆ STB_TEXTEDIT_K_REDO

#define STB_TEXTEDIT_K_REDO   (STB_TEXTEDIT_K_CONTROL | STB_TEXTEDIT_K_SHIFT | 'z')

Definition at line 54 of file ITextEntryControl.cpp.

◆ STB_TEXTEDIT_K_RIGHT

#define STB_TEXTEDIT_K_RIGHT   (VIRTUAL_KEY_BIT | kVK_RIGHT)

Definition at line 42 of file ITextEntryControl.cpp.

◆ STB_TEXTEDIT_K_SHIFT

#define STB_TEXTEDIT_K_SHIFT   0x40000000

Definition at line 37 of file ITextEntryControl.cpp.

◆ STB_TEXTEDIT_K_TEXTEND

#define STB_TEXTEDIT_K_TEXTEND   (STB_TEXTEDIT_K_LINEEND | STB_TEXTEDIT_K_CONTROL)

Definition at line 50 of file ITextEntryControl.cpp.

◆ STB_TEXTEDIT_K_TEXTSTART

#define STB_TEXTEDIT_K_TEXTSTART   (STB_TEXTEDIT_K_LINESTART | STB_TEXTEDIT_K_CONTROL)

Definition at line 49 of file ITextEntryControl.cpp.

◆ STB_TEXTEDIT_K_UNDO

#define STB_TEXTEDIT_K_UNDO   (STB_TEXTEDIT_K_CONTROL | 'z')

Definition at line 53 of file ITextEntryControl.cpp.

◆ STB_TEXTEDIT_K_UP

#define STB_TEXTEDIT_K_UP   (VIRTUAL_KEY_BIT | kVK_UP)

Definition at line 43 of file ITextEntryControl.cpp.

◆ STB_TEXTEDIT_K_WORDLEFT

#define STB_TEXTEDIT_K_WORDLEFT   (STB_TEXTEDIT_K_LEFT | STB_TEXTEDIT_K_CONTROL)

Definition at line 47 of file ITextEntryControl.cpp.

◆ STB_TEXTEDIT_K_WORDRIGHT

#define STB_TEXTEDIT_K_WORDRIGHT   (STB_TEXTEDIT_K_RIGHT | STB_TEXTEDIT_K_CONTROL)

Definition at line 48 of file ITextEntryControl.cpp.

◆ STB_TEXTEDIT_KEYTOTEXT

#define STB_TEXTEDIT_KEYTOTEXT (   key)    ((key & VIRTUAL_KEY_BIT) ? 0 : ((key & STB_TEXTEDIT_K_CONTROL) ? 0 : (key & (~0xF0000000))));

Definition at line 62 of file ITextEntryControl.cpp.

◆ STB_TEXTEDIT_LAYOUTROW

#define STB_TEXTEDIT_LAYOUTROW   ITextEntryControl::Layout

Definition at line 60 of file ITextEntryControl.cpp.

◆ STB_TEXTEDIT_NEWLINE

#define STB_TEXTEDIT_NEWLINE   '\n'

Definition at line 65 of file ITextEntryControl.cpp.

◆ STB_TEXTEDIT_STRINGLEN

#define STB_TEXTEDIT_STRINGLEN (   tc)    ITextEntryControl::GetLength (tc)

Definition at line 59 of file ITextEntryControl.cpp.

◆ VIRTUAL_KEY_BIT

#define VIRTUAL_KEY_BIT   0x80000000

Definition at line 36 of file ITextEntryControl.cpp.

Typedef Documentation

◆ StringConvert

using StringConvert = std::wstring_convert<std::codecvt_utf8_utf16<char16_t>, char16_t>

Definition at line 31 of file ITextEntryControl.cpp.