StructSize
Это поле должно содержать размер структуры EditorBookmarks
. Перед использованием структуры плагин должен заполнить поле.
Size
Размер буфера в памяти, который выделил плагин для размещения запрашиваемой информации.
Count
Количество закладок.
Line
Указатель на массив номеров строк для каждой закладки.
Cursor
Указатель на массив позиций курсоров в строках Line
.
ScreenLine
Указатель на массив номеров строк, соответствующих первой видимой строке текста на экране.
LeftPos
Указатель на массив позиций, соответствующих первому видимому символу текста на экране слева.
Перед получением информации о закладках, плагину необходимо выяснить размер запрашиваемых данных, для этого передайте
NULL
вместо ссылки на
структуру
EditorBookmarks
в команде
ECTL_GETBOOKMARKS или
ECTL_GETSESSIONBOOKMARKS, например:
// узнаем размер
intptr_t size = Info.EditorControl(-1,ECTL_GETBOOKMARKS,0,NULL);
if (!size)
return FALSE;
// выделим соответствующий объем памяти
EditorBookmarks *newbm = (EditorBookmarks *)malloc(size);
if (!newbm)
return FALSE;
// только теперь запрашиваем закладки
newbm->StructSize = sizeof(EditorBookmarks);
newbm->Size = size;
if (!Info.EditorControl(-1,ECTL_GETBOOKMARKS,0,newbm))
{
free(newbm);
return FALSE;
}