summaryrefslogtreecommitdiff
path: root/menuitems.h
diff options
context:
space:
mode:
authorKlaus Schmidinger <vdr@tvdr.de>2007-06-10 13:02:43 +0200
committerKlaus Schmidinger <vdr@tvdr.de>2007-06-10 13:02:43 +0200
commitc6f8a149574f4e5196f802439e7439406ca82e71 (patch)
tree0b04b012f87d7033abb37aeb986385672b85da18 /menuitems.h
parent32dd727d057a1ba22d403f48306adae10285ac77 (diff)
downloadvdr-c6f8a149574f4e5196f802439e7439406ca82e71.tar.gz
vdr-c6f8a149574f4e5196f802439e7439406ca82e71.tar.bz2
Freetype font support; full UTF-8 support; dropped pixel fonts
Diffstat (limited to 'menuitems.h')
-rw-r--r--menuitems.h23
1 files changed, 15 insertions, 8 deletions
diff --git a/menuitems.h b/menuitems.h
index 2454f95a..50778b16 100644
--- a/menuitems.h
+++ b/menuitems.h
@@ -4,7 +4,7 @@
* See the main source file 'vdr.c' for copyright information and
* how to reach the author.
*
- * $Id: menuitems.h 1.20 2006/04/14 10:01:47 kls Exp $
+ * $Id: menuitems.h 1.21 2007/06/08 11:53:37 kls Exp $
*/
#ifndef __MENUITEMS_H
@@ -77,22 +77,29 @@ public:
class cMenuEditStrItem : public cMenuEditItem {
private:
- char *orgValue;
char *value;
int length;
- char *allowed;
- int pos;
+ const char *allowed;
+ int pos, offset;
bool insert, newchar, uppercase;
- const char *charMap;
- const char *currentChar;
+ int lengthUtf8;
+ uint *valueUtf8;
+ uint *allowedUtf8;
+ uint *charMapUtf8;
+ uint *currentCharUtf8;
eKeys lastKey;
cTimeMs autoAdvanceTimeout;
void SetHelpKeys(void);
+ uint *IsAllowed(uint c);
void AdvancePos(void);
virtual void Set(void);
- char Inc(char c, bool Up);
+ uint Inc(uint c, bool Up);
+ void Insert(void);
+ void Delete(void);
protected:
- bool InEditMode(void) { return pos >= 0; }
+ void EnterEditMode(void);
+ void LeaveEditMode(bool SaveValue = false);
+ bool InEditMode(void) { return valueUtf8 != NULL; }
public:
cMenuEditStrItem(const char *Name, char *Value, int Length, const char *Allowed);
~cMenuEditStrItem();