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.
129 lines
3.3 KiB
129 lines
3.3 KiB
// Scintilla source code edit control |
|
/** @file ScintillaStructures.h |
|
** Structures used to communicate with Scintilla. |
|
** The same structures are defined for C in Scintilla.h. |
|
** Uses definitions from ScintillaTypes.h. |
|
**/ |
|
// Copyright 2021 by Neil Hodgson <neilh@scintilla.org> |
|
// The License.txt file describes the conditions under which this software may be distributed. |
|
|
|
#ifndef SCINTILLASTRUCTURES_H |
|
#define SCINTILLASTRUCTURES_H |
|
|
|
namespace Scintilla { |
|
|
|
using PositionCR = intptr_t; |
|
|
|
struct CharacterRange { |
|
PositionCR cpMin; |
|
PositionCR cpMax; |
|
}; |
|
|
|
struct CharacterRangeFull { |
|
Position cpMin; |
|
Position cpMax; |
|
}; |
|
|
|
struct TextRange { |
|
CharacterRange chrg; |
|
char *lpstrText; |
|
}; |
|
|
|
struct TextRangeFull { |
|
CharacterRangeFull chrg; |
|
char *lpstrText; |
|
}; |
|
|
|
struct TextToFind { |
|
CharacterRange chrg; |
|
const char *lpstrText; |
|
CharacterRange chrgText; |
|
}; |
|
|
|
struct TextToFindFull { |
|
CharacterRangeFull chrg; |
|
const char *lpstrText; |
|
CharacterRangeFull chrgText; |
|
}; |
|
|
|
using SurfaceID = void *; |
|
|
|
struct Rectangle { |
|
int left; |
|
int top; |
|
int right; |
|
int bottom; |
|
}; |
|
|
|
/* This structure is used in printing. Not needed by most client code. */ |
|
|
|
struct RangeToFormat { |
|
SurfaceID hdc; |
|
SurfaceID hdcTarget; |
|
Rectangle rc; |
|
Rectangle rcPage; |
|
CharacterRange chrg; |
|
}; |
|
|
|
struct RangeToFormatFull { |
|
SurfaceID hdc; |
|
SurfaceID hdcTarget; |
|
Rectangle rc; |
|
Rectangle rcPage; |
|
CharacterRangeFull chrg; |
|
}; |
|
|
|
struct NotifyHeader { |
|
/* Compatible with Windows NMHDR. |
|
* hwndFrom is really an environment specific window handle or pointer |
|
* but most clients of Scintilla.h do not have this type visible. */ |
|
void *hwndFrom; |
|
uptr_t idFrom; |
|
Notification code; |
|
}; |
|
|
|
enum class Message; // Declare in case ScintillaMessages.h not included |
|
|
|
struct NotificationData { |
|
NotifyHeader nmhdr; |
|
Position position; |
|
/* SCN_STYLENEEDED, SCN_DOUBLECLICK, SCN_MODIFIED, SCN_MARGINCLICK, */ |
|
/* SCN_NEEDSHOWN, SCN_DWELLSTART, SCN_DWELLEND, SCN_CALLTIPCLICK, */ |
|
/* SCN_HOTSPOTCLICK, SCN_HOTSPOTDOUBLECLICK, SCN_HOTSPOTRELEASECLICK, */ |
|
/* SCN_INDICATORCLICK, SCN_INDICATORRELEASE, */ |
|
/* SCN_USERLISTSELECTION, SCN_AUTOCSELECTION */ |
|
|
|
int ch; |
|
/* SCN_CHARADDED, SCN_KEY, SCN_AUTOCCOMPLETED, SCN_AUTOCSELECTION, */ |
|
/* SCN_USERLISTSELECTION */ |
|
KeyMod modifiers; |
|
/* SCN_KEY, SCN_DOUBLECLICK, SCN_HOTSPOTCLICK, SCN_HOTSPOTDOUBLECLICK, */ |
|
/* SCN_HOTSPOTRELEASECLICK, SCN_INDICATORCLICK, SCN_INDICATORRELEASE, */ |
|
|
|
ModificationFlags modificationType; /* SCN_MODIFIED */ |
|
const char *text; |
|
/* SCN_MODIFIED, SCN_USERLISTSELECTION, SCN_AUTOCSELECTION, SCN_URIDROPPED */ |
|
|
|
Position length; /* SCN_MODIFIED */ |
|
Position linesAdded; /* SCN_MODIFIED */ |
|
Message message; /* SCN_MACRORECORD */ |
|
uptr_t wParam; /* SCN_MACRORECORD */ |
|
sptr_t lParam; /* SCN_MACRORECORD */ |
|
Position line; /* SCN_MODIFIED */ |
|
FoldLevel foldLevelNow; /* SCN_MODIFIED */ |
|
FoldLevel foldLevelPrev; /* SCN_MODIFIED */ |
|
int margin; /* SCN_MARGINCLICK */ |
|
int listType; /* SCN_USERLISTSELECTION */ |
|
int x; /* SCN_DWELLSTART, SCN_DWELLEND */ |
|
int y; /* SCN_DWELLSTART, SCN_DWELLEND */ |
|
int token; /* SCN_MODIFIED with SC_MOD_CONTAINER */ |
|
Position annotationLinesAdded; /* SCN_MODIFIED with SC_MOD_CHANGEANNOTATION */ |
|
Update updated; /* SCN_UPDATEUI */ |
|
CompletionMethods listCompletionMethod; |
|
/* SCN_AUTOCSELECTION, SCN_AUTOCCOMPLETED, SCN_USERLISTSELECTION, */ |
|
CharacterSource characterSource; /* SCN_CHARADDED */ |
|
}; |
|
|
|
} |
|
|
|
#endif
|
|
|