/usr/include/tuxcap/EditWidget.h is in libtuxcap-dev 1.4.0.dfsg2-2.2build1.
This file is owned by root:root, with mode 0o644.
The actual contents of the file can be viewed below.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 | #ifndef __EDITWIDGET_H__
#define __EDITWIDGET_H__
#include "Widget.h"
namespace Sexy
{
class Font;
class EditListener;
class EditWidget : public Widget
{
public:
enum
{
COLOR_BKG,
COLOR_OUTLINE,
COLOR_TEXT,
COLOR_HILITE,
COLOR_HILITE_TEXT,
NUM_COLORS
};
int mId;
SexyString mString;
SexyString mPasswordDisplayString;
Font* mFont;
struct WidthCheck
{
Font *mFont;
int mWidth;
};
typedef std::list<WidthCheck> WidthCheckList;
WidthCheckList mWidthCheckList;
EditListener* mEditListener;
bool mShowingCursor;
bool mDrawSelOverride; // set this to true to draw selected text even when not in focus
bool mHadDoubleClick; // Used to fix a bug with double clicking to hilite a word after the widget manager started calling mouse drag before mouse down/up events
int mCursorPos;
int mHilitePos;
int mBlinkAcc;
int mBlinkDelay;
int mLeftPos;
int mMaxChars;
int mMaxPixels;
SexyChar mPasswordChar;
SexyString mUndoString;
int mUndoCursor;
int mUndoHilitePos;
int mLastModifyIdx;
protected:
virtual void ProcessKey(SDLKey theKey, SexyChar theChar);
SexyString& GetDisplayString();
virtual void HiliteWord();
void UpdateCaretPos();
public:
virtual void SetFont(Font* theFont, Font* theWidthCheckFont = NULL);
virtual void SetText(const SexyString& theText, bool leftPosToZero = true);
virtual bool IsPartOfWord(SexyChar theChar);
virtual int GetCharAt(int x, int y);
virtual void Resize(int theX, int theY, int theWidth, int theHeight);
virtual void Draw(Graphics* g); // Already translated;
virtual void Update();
virtual void MarkDirty();
virtual bool WantsFocus();
virtual void GotFocus();
virtual void LostFocus();
virtual void FocusCursor(bool bigJump);
virtual void KeyDown(SDLKey theKey);
virtual void KeyChar(SexyChar theChar);
virtual void MouseDown(int x, int y, int theClickCount) { Widget::MouseDown(x, y, theClickCount); }
virtual void MouseDown(int x, int y, int theBtnNum, int theClickCount);
virtual void MouseUp(int x, int y) { Widget::MouseUp(x, y); }
virtual void MouseUp(int x, int y, int theClickCount) { Widget::MouseUp(x, y, theClickCount); }
virtual void MouseUp(int x, int y, int theBtnNum, int theClickCount);
virtual void MouseDrag(int x, int y);
virtual void MouseEnter();
virtual void MouseLeave();
void ClearWidthCheckFonts();
void AddWidthCheckFont(Font *theFont, int theMaxPixels = -1); // defaults to mMaxPixels
void EnforceMaxPixels();
public:
EditWidget(int theId, EditListener* theEditListener);
virtual ~EditWidget();
};
}
#endif //__EDITWIDGET_H__
|