You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
79 lines
2.5 KiB
79 lines
2.5 KiB
// Scintilla source code edit control |
|
/** @file CallTip.h |
|
** Interface to the call tip control. |
|
**/ |
|
// Copyright 1998-2001 by Neil Hodgson <neilh@scintilla.org> |
|
// The License.txt file describes the conditions under which this software may be distributed. |
|
|
|
#ifndef CALLTIP_H |
|
#define CALLTIP_H |
|
|
|
/** |
|
*/ |
|
class CallTip { |
|
int startHighlight; // character offset to start and... |
|
int endHighlight; // ...end of highlighted text |
|
char *val; |
|
Font font; |
|
PRectangle rectUp; // rectangle of last up angle in the tip |
|
PRectangle rectDown; // rectangle of last down arrow in the tip |
|
int lineHeight; // vertical line spacing |
|
int offsetMain; // The alignment point of the call tip |
|
int tabSize; // Tab size in pixels, <=0 no TAB expand |
|
bool useStyleCallTip; // if true, STYLE_CALLTIP should be used |
|
|
|
// Private so CallTip objects can not be copied |
|
CallTip(const CallTip &) {} |
|
CallTip &operator=(const CallTip &) { return *this; } |
|
void DrawChunk(Surface *surface, int &x, const char *s, |
|
int posStart, int posEnd, int ytext, PRectangle rcClient, |
|
bool highlight, bool draw); |
|
int PaintContents(Surface *surfaceWindow, bool draw); |
|
bool IsTabCharacter(char c); |
|
int NextTabPos(int x); |
|
|
|
public: |
|
Window wCallTip; |
|
Window wDraw; |
|
bool inCallTipMode; |
|
int posStartCallTip; |
|
ColourPair colourBG; |
|
ColourPair colourUnSel; |
|
ColourPair colourSel; |
|
ColourPair colourShade; |
|
ColourPair colourLight; |
|
int codePage; |
|
int clickPlace; |
|
|
|
CallTip(); |
|
~CallTip(); |
|
|
|
/// Claim or accept palette entries for the colours required to paint a calltip. |
|
void RefreshColourPalette(Palette &pal, bool want); |
|
|
|
void PaintCT(Surface *surfaceWindow); |
|
|
|
void MouseClick(Point pt); |
|
|
|
/// Setup the calltip and return a rectangle of the area required. |
|
PRectangle CallTipStart(int pos, Point pt, const char *defn, |
|
const char *faceName, int size, int codePage_, |
|
int characterSet, Window &wParent); |
|
|
|
void CallTipCancel(); |
|
|
|
/// Set a range of characters to be displayed in a highlight style. |
|
/// Commonly used to highlight the current parameter. |
|
void SetHighlight(int start, int end); |
|
|
|
/// Set the tab size in pixels for the call tip. 0 or -ve means no tab expand. |
|
void SetTabSize(int tabSz); |
|
|
|
/// Used to determine which STYLE_xxxx to use for call tip information |
|
bool UseStyleCallTip() const { return useStyleCallTip;} |
|
|
|
// Modify foreground and background colours |
|
void SetForeBack(const ColourPair &fore, const ColourPair &back); |
|
}; |
|
|
|
#endif
|
|
|