1// Scintilla source code edit control
2/** @file Sci_Position.h
3 ** Define the Sci_Position type used in Scintilla's external interfaces.
4 ** These need to be available to clients written in C so are not in a C++ namespace.
5 **/
6// Copyright 2015 by Neil Hodgson <neilh@scintilla.org>
7// The License.txt file describes the conditions under which this software may be distributed.
8
9#ifndef SCI_POSITION_H
10#define SCI_POSITION_H
11
12#include <stddef.h>
13
14// Basic signed type used throughout interface
15typedef ptrdiff_t Sci_Position;
16
17// Unsigned variant used for ILexer::Lex and ILexer::Fold
18typedef size_t Sci_PositionU;
19
20// For Sci_CharacterRange which is defined as long to be compatible with Win32 CHARRANGE
21typedef long Sci_PositionCR;
22
23#ifdef _WIN32
24 #define SCI_METHOD __stdcall
25#else
26 #define SCI_METHOD
27#endif
28
29#endif
30