2013-11-15 12:09:10 +00:00
|
|
|
/* -*- Mode: C; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
|
|
|
|
/*
|
|
|
|
* This file is part of the LibreOffice project.
|
|
|
|
*
|
|
|
|
* This Source Code Form is subject to the terms of the Mozilla Public
|
|
|
|
* License, v. 2.0. If a copy of the MPL was not distributed with this
|
|
|
|
* file, You can obtain one at http://mozilla.org/MPL/2.0/.
|
|
|
|
*/
|
|
|
|
|
2015-02-02 11:03:13 +01:00
|
|
|
#ifndef INCLUDED_LIBREOFFICEKIT_LIBREOFFICEKIT_H
|
|
|
|
#define INCLUDED_LIBREOFFICEKIT_LIBREOFFICEKIT_H
|
2013-11-15 12:09:10 +00:00
|
|
|
|
2014-06-12 16:33:23 +01:00
|
|
|
#include <stddef.h>
|
|
|
|
|
2015-11-03 13:20:06 +01:00
|
|
|
// the unstable API needs C99's bool
|
2017-09-14 09:23:46 +02:00
|
|
|
// TODO remove the C99 types from the API before making stable
|
|
|
|
#if defined LOK_USE_UNSTABLE_API || defined LIBO_INTERNAL_ONLY
|
|
|
|
# ifndef _WIN32
|
|
|
|
# include <stdbool.h>
|
|
|
|
# endif
|
|
|
|
# include <stdint.h>
|
2015-11-03 13:20:06 +01:00
|
|
|
#endif
|
|
|
|
|
2015-03-13 09:14:16 +01:00
|
|
|
#include <LibreOfficeKit/LibreOfficeKitTypes.h>
|
|
|
|
|
2013-11-15 12:09:10 +00:00
|
|
|
#ifdef __cplusplus
|
2014-04-06 12:05:13 +02:00
|
|
|
extern "C"
|
|
|
|
{
|
2013-11-15 12:09:10 +00:00
|
|
|
#endif
|
|
|
|
|
2014-06-10 11:31:51 +01:00
|
|
|
typedef struct _LibreOfficeKit LibreOfficeKit;
|
2014-06-17 15:13:33 +01:00
|
|
|
typedef struct _LibreOfficeKitClass LibreOfficeKitClass;
|
|
|
|
|
2014-06-10 11:31:51 +01:00
|
|
|
typedef struct _LibreOfficeKitDocument LibreOfficeKitDocument;
|
2014-06-17 15:13:33 +01:00
|
|
|
typedef struct _LibreOfficeKitDocumentClass LibreOfficeKitDocumentClass;
|
2013-11-15 12:09:10 +00:00
|
|
|
|
2014-06-12 13:28:26 +01:00
|
|
|
// Do we have an extended member in this struct ?
|
|
|
|
#define LIBREOFFICEKIT_HAS_MEMBER(strct,member,nSize) \
|
2015-03-10 16:13:39 +01:00
|
|
|
(offsetof(strct, member) < (nSize))
|
2014-06-12 13:28:26 +01:00
|
|
|
|
2014-06-17 15:13:33 +01:00
|
|
|
#define LIBREOFFICEKIT_HAS(pKit,member) LIBREOFFICEKIT_HAS_MEMBER(LibreOfficeKitClass,member,(pKit)->pClass->nSize)
|
2014-06-12 13:28:26 +01:00
|
|
|
|
2014-06-10 11:31:51 +01:00
|
|
|
struct _LibreOfficeKit
|
2014-06-17 15:13:33 +01:00
|
|
|
{
|
|
|
|
LibreOfficeKitClass* pClass;
|
|
|
|
};
|
|
|
|
|
|
|
|
struct _LibreOfficeKitClass
|
2014-04-06 12:05:13 +02:00
|
|
|
{
|
The mode lines says we use 4-column indentation steps, so do that then
Also, be consistent in spacing, indentation and alignment. Inconsistency is
infuritating.
In this case, I decided to drop the attempts to align the names of "methods",
and their parameter lists. They were not all aligned anyway, and some of those
that tried to be in fact were off by one column. Also, consistently use a
blank line between the method pointers,
If you feel strongly about this and *want* such inter-line alignment, by all
means re-introduce it, but at least try to be consistent then, and do it for
all methods.
Change-Id: I382ca0eaf8533ebc3f829ebd978a9676ebcefaf0
2015-04-16 12:34:43 +03:00
|
|
|
size_t nSize;
|
|
|
|
|
|
|
|
void (*destroy) (LibreOfficeKit* pThis);
|
|
|
|
|
|
|
|
LibreOfficeKitDocument* (*documentLoad) (LibreOfficeKit* pThis,
|
|
|
|
const char* pURL);
|
|
|
|
|
|
|
|
char* (*getError) (LibreOfficeKit* pThis);
|
|
|
|
|
2016-01-28 12:41:43 +01:00
|
|
|
/// @since LibreOffice 5.0
|
The mode lines says we use 4-column indentation steps, so do that then
Also, be consistent in spacing, indentation and alignment. Inconsistency is
infuritating.
In this case, I decided to drop the attempts to align the names of "methods",
and their parameter lists. They were not all aligned anyway, and some of those
that tried to be in fact were off by one column. Also, consistently use a
blank line between the method pointers,
If you feel strongly about this and *want* such inter-line alignment, by all
means re-introduce it, but at least try to be consistent then, and do it for
all methods.
Change-Id: I382ca0eaf8533ebc3f829ebd978a9676ebcefaf0
2015-04-16 12:34:43 +03:00
|
|
|
LibreOfficeKitDocument* (*documentLoadWithOptions) (LibreOfficeKit* pThis,
|
|
|
|
const char* pURL,
|
|
|
|
const char* pOptions);
|
2016-01-28 12:41:43 +01:00
|
|
|
/// @since LibreOffice 5.2
|
2016-01-21 09:10:29 +01:00
|
|
|
void (*freeError) (char* pFree);
|
|
|
|
|
2017-09-13 14:50:47 +02:00
|
|
|
/// @since LibreOffice 6.0
|
2015-05-06 16:43:33 +03:00
|
|
|
void (*registerCallback) (LibreOfficeKit* pThis,
|
|
|
|
LibreOfficeKitCallback pCallback,
|
|
|
|
void* pData);
|
2015-09-25 01:02:23 +02:00
|
|
|
|
2017-09-13 14:50:47 +02:00
|
|
|
/** @see lok::Office::getFilterTypes().
|
|
|
|
@since LibreOffice 6.0
|
|
|
|
*/
|
2015-09-25 01:02:23 +02:00
|
|
|
char* (*getFilterTypes) (LibreOfficeKit* pThis);
|
2016-01-25 12:29:16 +01:00
|
|
|
|
2017-09-13 14:50:47 +02:00
|
|
|
/** @see lok::Office::setOptionalFeatures().
|
|
|
|
@since LibreOffice 6.0
|
|
|
|
*/
|
2017-09-14 09:23:46 +02:00
|
|
|
void (*setOptionalFeatures)(LibreOfficeKit* pThis, unsigned long long features);
|
2016-01-26 15:35:42 +01:00
|
|
|
|
2017-09-13 14:50:47 +02:00
|
|
|
/** @see lok::Office::setDocumentPassword().
|
|
|
|
@since LibreOffice 6.0
|
|
|
|
*/
|
2016-01-25 12:29:16 +01:00
|
|
|
void (*setDocumentPassword) (LibreOfficeKit* pThis,
|
|
|
|
char const* pURL,
|
|
|
|
char const* pPassword);
|
2016-06-21 00:15:38 +05:30
|
|
|
|
2017-09-13 14:50:47 +02:00
|
|
|
/** @see lok::Office::getVersionInfo().
|
|
|
|
@since LibreOffice 6.0
|
|
|
|
*/
|
2016-06-21 00:15:38 +05:30
|
|
|
char* (*getVersionInfo) (LibreOfficeKit* pThis);
|
2017-02-19 23:58:52 +01:00
|
|
|
|
2017-09-13 14:50:47 +02:00
|
|
|
/** @see lok::Office::runMacro().
|
|
|
|
@since LibreOffice 6.0
|
|
|
|
*/
|
2017-09-14 09:23:46 +02:00
|
|
|
int (*runMacro) (LibreOfficeKit *pThis, const char* pURL);
|
2013-11-15 12:09:10 +00:00
|
|
|
};
|
|
|
|
|
2014-06-17 15:13:33 +01:00
|
|
|
#define LIBREOFFICEKIT_DOCUMENT_HAS(pDoc,member) LIBREOFFICEKIT_HAS_MEMBER(LibreOfficeKitDocumentClass,member,(pDoc)->pClass->nSize)
|
2014-06-12 13:28:26 +01:00
|
|
|
|
2014-06-10 11:31:51 +01:00
|
|
|
struct _LibreOfficeKitDocument
|
2014-06-17 15:13:33 +01:00
|
|
|
{
|
|
|
|
LibreOfficeKitDocumentClass* pClass;
|
|
|
|
};
|
|
|
|
|
|
|
|
struct _LibreOfficeKitDocumentClass
|
2014-04-06 12:05:13 +02:00
|
|
|
{
|
The mode lines says we use 4-column indentation steps, so do that then
Also, be consistent in spacing, indentation and alignment. Inconsistency is
infuritating.
In this case, I decided to drop the attempts to align the names of "methods",
and their parameter lists. They were not all aligned anyway, and some of those
that tried to be in fact were off by one column. Also, consistently use a
blank line between the method pointers,
If you feel strongly about this and *want* such inter-line alignment, by all
means re-introduce it, but at least try to be consistent then, and do it for
all methods.
Change-Id: I382ca0eaf8533ebc3f829ebd978a9676ebcefaf0
2015-04-16 12:34:43 +03:00
|
|
|
size_t nSize;
|
|
|
|
|
|
|
|
void (*destroy) (LibreOfficeKitDocument* pThis);
|
|
|
|
|
|
|
|
int (*saveAs) (LibreOfficeKitDocument* pThis,
|
|
|
|
const char* pUrl,
|
|
|
|
const char* pFormat,
|
|
|
|
const char* pFilterOptions);
|
2013-11-15 12:09:10 +00:00
|
|
|
|
2017-09-13 14:50:47 +02:00
|
|
|
/** @see lok::Document::getDocumentType().
|
|
|
|
@since LibreOffice 6.0
|
|
|
|
*/
|
The mode lines says we use 4-column indentation steps, so do that then
Also, be consistent in spacing, indentation and alignment. Inconsistency is
infuritating.
In this case, I decided to drop the attempts to align the names of "methods",
and their parameter lists. They were not all aligned anyway, and some of those
that tried to be in fact were off by one column. Also, consistently use a
blank line between the method pointers,
If you feel strongly about this and *want* such inter-line alignment, by all
means re-introduce it, but at least try to be consistent then, and do it for
all methods.
Change-Id: I382ca0eaf8533ebc3f829ebd978a9676ebcefaf0
2015-04-16 12:34:43 +03:00
|
|
|
int (*getDocumentType) (LibreOfficeKitDocument* pThis);
|
|
|
|
|
2017-09-13 14:50:47 +02:00
|
|
|
#if defined LOK_USE_UNSTABLE_API || defined LIBO_INTERNAL_ONLY
|
The mode lines says we use 4-column indentation steps, so do that then
Also, be consistent in spacing, indentation and alignment. Inconsistency is
infuritating.
In this case, I decided to drop the attempts to align the names of "methods",
and their parameter lists. They were not all aligned anyway, and some of those
that tried to be in fact were off by one column. Also, consistently use a
blank line between the method pointers,
If you feel strongly about this and *want* such inter-line alignment, by all
means re-introduce it, but at least try to be consistent then, and do it for
all methods.
Change-Id: I382ca0eaf8533ebc3f829ebd978a9676ebcefaf0
2015-04-16 12:34:43 +03:00
|
|
|
/// @see lok::Document::getParts().
|
|
|
|
int (*getParts) (LibreOfficeKitDocument* pThis);
|
|
|
|
|
2015-09-29 10:47:31 +02:00
|
|
|
/// @see lok::Document::getPartPageRectangles().
|
|
|
|
char* (*getPartPageRectangles) (LibreOfficeKitDocument* pThis);
|
|
|
|
|
The mode lines says we use 4-column indentation steps, so do that then
Also, be consistent in spacing, indentation and alignment. Inconsistency is
infuritating.
In this case, I decided to drop the attempts to align the names of "methods",
and their parameter lists. They were not all aligned anyway, and some of those
that tried to be in fact were off by one column. Also, consistently use a
blank line between the method pointers,
If you feel strongly about this and *want* such inter-line alignment, by all
means re-introduce it, but at least try to be consistent then, and do it for
all methods.
Change-Id: I382ca0eaf8533ebc3f829ebd978a9676ebcefaf0
2015-04-16 12:34:43 +03:00
|
|
|
/// @see lok::Document::getPart().
|
|
|
|
int (*getPart) (LibreOfficeKitDocument* pThis);
|
|
|
|
|
|
|
|
/// @see lok::Document::setPart().
|
|
|
|
void (*setPart) (LibreOfficeKitDocument* pThis,
|
|
|
|
int nPart);
|
|
|
|
|
|
|
|
/// @see lok::Document::getPartName().
|
|
|
|
char* (*getPartName) (LibreOfficeKitDocument* pThis,
|
|
|
|
int nPart);
|
|
|
|
|
2015-09-16 14:31:49 +02:00
|
|
|
/// @see lok::Document::setPartMode().
|
The mode lines says we use 4-column indentation steps, so do that then
Also, be consistent in spacing, indentation and alignment. Inconsistency is
infuritating.
In this case, I decided to drop the attempts to align the names of "methods",
and their parameter lists. They were not all aligned anyway, and some of those
that tried to be in fact were off by one column. Also, consistently use a
blank line between the method pointers,
If you feel strongly about this and *want* such inter-line alignment, by all
means re-introduce it, but at least try to be consistent then, and do it for
all methods.
Change-Id: I382ca0eaf8533ebc3f829ebd978a9676ebcefaf0
2015-04-16 12:34:43 +03:00
|
|
|
void (*setPartMode) (LibreOfficeKitDocument* pThis,
|
|
|
|
int nMode);
|
|
|
|
|
|
|
|
/// @see lok::Document::paintTile().
|
|
|
|
void (*paintTile) (LibreOfficeKitDocument* pThis,
|
|
|
|
unsigned char* pBuffer,
|
|
|
|
const int nCanvasWidth,
|
|
|
|
const int nCanvasHeight,
|
|
|
|
const int nTilePosX,
|
|
|
|
const int nTilePosY,
|
|
|
|
const int nTileWidth,
|
|
|
|
const int nTileHeight);
|
|
|
|
|
2015-11-23 09:32:37 +01:00
|
|
|
/// @see lok::Document::getTileMode().
|
|
|
|
int (*getTileMode) (LibreOfficeKitDocument* pThis);
|
|
|
|
|
The mode lines says we use 4-column indentation steps, so do that then
Also, be consistent in spacing, indentation and alignment. Inconsistency is
infuritating.
In this case, I decided to drop the attempts to align the names of "methods",
and their parameter lists. They were not all aligned anyway, and some of those
that tried to be in fact were off by one column. Also, consistently use a
blank line between the method pointers,
If you feel strongly about this and *want* such inter-line alignment, by all
means re-introduce it, but at least try to be consistent then, and do it for
all methods.
Change-Id: I382ca0eaf8533ebc3f829ebd978a9676ebcefaf0
2015-04-16 12:34:43 +03:00
|
|
|
/// @see lok::Document::getDocumentSize().
|
|
|
|
void (*getDocumentSize) (LibreOfficeKitDocument* pThis,
|
|
|
|
long* pWidth,
|
|
|
|
long* pHeight);
|
|
|
|
|
|
|
|
/// @see lok::Document::initializeForRendering().
|
2015-11-18 14:59:51 +01:00
|
|
|
void (*initializeForRendering) (LibreOfficeKitDocument* pThis,
|
|
|
|
const char* pArguments);
|
The mode lines says we use 4-column indentation steps, so do that then
Also, be consistent in spacing, indentation and alignment. Inconsistency is
infuritating.
In this case, I decided to drop the attempts to align the names of "methods",
and their parameter lists. They were not all aligned anyway, and some of those
that tried to be in fact were off by one column. Also, consistently use a
blank line between the method pointers,
If you feel strongly about this and *want* such inter-line alignment, by all
means re-introduce it, but at least try to be consistent then, and do it for
all methods.
Change-Id: I382ca0eaf8533ebc3f829ebd978a9676ebcefaf0
2015-04-16 12:34:43 +03:00
|
|
|
|
2015-09-16 14:31:49 +02:00
|
|
|
/// @see lok::Document::registerCallback().
|
The mode lines says we use 4-column indentation steps, so do that then
Also, be consistent in spacing, indentation and alignment. Inconsistency is
infuritating.
In this case, I decided to drop the attempts to align the names of "methods",
and their parameter lists. They were not all aligned anyway, and some of those
that tried to be in fact were off by one column. Also, consistently use a
blank line between the method pointers,
If you feel strongly about this and *want* such inter-line alignment, by all
means re-introduce it, but at least try to be consistent then, and do it for
all methods.
Change-Id: I382ca0eaf8533ebc3f829ebd978a9676ebcefaf0
2015-04-16 12:34:43 +03:00
|
|
|
void (*registerCallback) (LibreOfficeKitDocument* pThis,
|
2015-01-06 15:49:12 +01:00
|
|
|
LibreOfficeKitCallback pCallback,
|
|
|
|
void* pData);
|
2015-01-21 12:42:08 +01:00
|
|
|
|
The mode lines says we use 4-column indentation steps, so do that then
Also, be consistent in spacing, indentation and alignment. Inconsistency is
infuritating.
In this case, I decided to drop the attempts to align the names of "methods",
and their parameter lists. They were not all aligned anyway, and some of those
that tried to be in fact were off by one column. Also, consistently use a
blank line between the method pointers,
If you feel strongly about this and *want* such inter-line alignment, by all
means re-introduce it, but at least try to be consistent then, and do it for
all methods.
Change-Id: I382ca0eaf8533ebc3f829ebd978a9676ebcefaf0
2015-04-16 12:34:43 +03:00
|
|
|
/// @see lok::Document::postKeyEvent
|
|
|
|
void (*postKeyEvent) (LibreOfficeKitDocument* pThis,
|
|
|
|
int nType,
|
|
|
|
int nCharCode,
|
|
|
|
int nKeyCode);
|
|
|
|
|
|
|
|
/// @see lok::Document::postMouseEvent
|
|
|
|
void (*postMouseEvent) (LibreOfficeKitDocument* pThis,
|
|
|
|
int nType,
|
|
|
|
int nX,
|
|
|
|
int nY,
|
2015-10-04 19:40:13 +03:00
|
|
|
int nCount,
|
|
|
|
int nButtons,
|
|
|
|
int nModifier);
|
The mode lines says we use 4-column indentation steps, so do that then
Also, be consistent in spacing, indentation and alignment. Inconsistency is
infuritating.
In this case, I decided to drop the attempts to align the names of "methods",
and their parameter lists. They were not all aligned anyway, and some of those
that tried to be in fact were off by one column. Also, consistently use a
blank line between the method pointers,
If you feel strongly about this and *want* such inter-line alignment, by all
means re-introduce it, but at least try to be consistent then, and do it for
all methods.
Change-Id: I382ca0eaf8533ebc3f829ebd978a9676ebcefaf0
2015-04-16 12:34:43 +03:00
|
|
|
|
|
|
|
/// @see lok::Document::postUnoCommand
|
|
|
|
void (*postUnoCommand) (LibreOfficeKitDocument* pThis,
|
2015-04-22 14:28:36 +02:00
|
|
|
const char* pCommand,
|
2015-11-03 13:20:06 +01:00
|
|
|
const char* pArguments,
|
|
|
|
bool bNotifyWhenFinished);
|
The mode lines says we use 4-column indentation steps, so do that then
Also, be consistent in spacing, indentation and alignment. Inconsistency is
infuritating.
In this case, I decided to drop the attempts to align the names of "methods",
and their parameter lists. They were not all aligned anyway, and some of those
that tried to be in fact were off by one column. Also, consistently use a
blank line between the method pointers,
If you feel strongly about this and *want* such inter-line alignment, by all
means re-introduce it, but at least try to be consistent then, and do it for
all methods.
Change-Id: I382ca0eaf8533ebc3f829ebd978a9676ebcefaf0
2015-04-16 12:34:43 +03:00
|
|
|
|
|
|
|
/// @see lok::Document::setTextSelection
|
|
|
|
void (*setTextSelection) (LibreOfficeKitDocument* pThis,
|
2015-03-19 13:58:12 +02:00
|
|
|
int nType,
|
|
|
|
int nX,
|
|
|
|
int nY);
|
The mode lines says we use 4-column indentation steps, so do that then
Also, be consistent in spacing, indentation and alignment. Inconsistency is
infuritating.
In this case, I decided to drop the attempts to align the names of "methods",
and their parameter lists. They were not all aligned anyway, and some of those
that tried to be in fact were off by one column. Also, consistently use a
blank line between the method pointers,
If you feel strongly about this and *want* such inter-line alignment, by all
means re-introduce it, but at least try to be consistent then, and do it for
all methods.
Change-Id: I382ca0eaf8533ebc3f829ebd978a9676ebcefaf0
2015-04-16 12:34:43 +03:00
|
|
|
|
2015-06-17 18:00:01 +02:00
|
|
|
/// @see lok::Document::getTextSelection
|
|
|
|
char* (*getTextSelection) (LibreOfficeKitDocument* pThis,
|
2015-06-19 18:13:27 +02:00
|
|
|
const char* pMimeType,
|
|
|
|
char** pUsedMimeType);
|
2015-06-17 18:00:01 +02:00
|
|
|
|
2015-10-22 11:26:13 +02:00
|
|
|
/// @see lok::Document::paste().
|
|
|
|
bool (*paste) (LibreOfficeKitDocument* pThis,
|
|
|
|
const char* pMimeType,
|
|
|
|
const char* pData,
|
|
|
|
size_t nSize);
|
|
|
|
|
The mode lines says we use 4-column indentation steps, so do that then
Also, be consistent in spacing, indentation and alignment. Inconsistency is
infuritating.
In this case, I decided to drop the attempts to align the names of "methods",
and their parameter lists. They were not all aligned anyway, and some of those
that tried to be in fact were off by one column. Also, consistently use a
blank line between the method pointers,
If you feel strongly about this and *want* such inter-line alignment, by all
means re-introduce it, but at least try to be consistent then, and do it for
all methods.
Change-Id: I382ca0eaf8533ebc3f829ebd978a9676ebcefaf0
2015-04-16 12:34:43 +03:00
|
|
|
/// @see lok::Document::setGraphicSelection
|
|
|
|
void (*setGraphicSelection) (LibreOfficeKitDocument* pThis,
|
|
|
|
int nType,
|
|
|
|
int nX,
|
|
|
|
int nY);
|
|
|
|
|
|
|
|
/// @see lok::Document::resetSelection
|
|
|
|
void (*resetSelection) (LibreOfficeKitDocument* pThis);
|
2015-08-17 18:49:40 +03:00
|
|
|
|
2015-09-16 14:46:39 +02:00
|
|
|
/// @see lok::Document::getCommandValues().
|
2015-09-10 09:21:45 +03:00
|
|
|
char* (*getCommandValues) (LibreOfficeKitDocument* pThis, const char* pCommand);
|
2015-09-14 14:36:56 +02:00
|
|
|
|
2015-11-06 14:34:28 +02:00
|
|
|
/// @see lok::Document::setClientZoom().
|
|
|
|
void (*setClientZoom) (LibreOfficeKitDocument* pThis,
|
|
|
|
int nTilePixelWidth,
|
|
|
|
int nTilePixelHeight,
|
|
|
|
int nTileTwipWidth,
|
|
|
|
int nTileTwipHeight);
|
2017-11-28 23:08:34 +01:00
|
|
|
|
2016-02-02 10:32:36 +01:00
|
|
|
/// @see lok::Document::setVisibleArea).
|
|
|
|
void (*setClientVisibleArea) (LibreOfficeKitDocument* pThis, int nX, int nY, int nWidth, int nHeight);
|
2015-11-06 14:34:28 +02:00
|
|
|
|
2015-09-14 14:36:56 +02:00
|
|
|
/// @see lok::Document::createView().
|
2016-06-29 17:27:04 +02:00
|
|
|
int (*createView) (LibreOfficeKitDocument* pThis);
|
2015-09-15 09:31:49 +02:00
|
|
|
/// @see lok::Document::destroyView().
|
2016-06-29 17:27:04 +02:00
|
|
|
void (*destroyView) (LibreOfficeKitDocument* pThis, int nId);
|
2015-09-16 09:30:41 +02:00
|
|
|
/// @see lok::Document::setView().
|
2016-06-29 17:27:04 +02:00
|
|
|
void (*setView) (LibreOfficeKitDocument* pThis, int nId);
|
2015-09-16 09:30:41 +02:00
|
|
|
/// @see lok::Document::getView().
|
2016-06-29 17:27:04 +02:00
|
|
|
int (*getView) (LibreOfficeKitDocument* pThis);
|
2016-09-16 10:15:31 +02:00
|
|
|
/// @see lok::Document::getViewsCount().
|
|
|
|
int (*getViewsCount) (LibreOfficeKitDocument* pThis);
|
2015-11-27 16:19:09 +02:00
|
|
|
|
|
|
|
/// @see lok::Document::renderFont().
|
|
|
|
unsigned char* (*renderFont) (LibreOfficeKitDocument* pThis,
|
|
|
|
const char* pFontName,
|
2016-11-11 16:29:57 -04:00
|
|
|
const char* pChar,
|
2015-11-27 16:19:09 +02:00
|
|
|
int* pFontWidth,
|
|
|
|
int* pFontHeight);
|
2016-04-21 19:04:58 +02:00
|
|
|
|
|
|
|
/// @see lok::Document::getPartHash().
|
|
|
|
char* (*getPartHash) (LibreOfficeKitDocument* pThis,
|
|
|
|
int nPart);
|
2016-05-06 08:16:00 -04:00
|
|
|
|
|
|
|
/// Paints a tile from a specific part.
|
|
|
|
/// @see lok::Document::paintTile().
|
|
|
|
void (*paintPartTile) (LibreOfficeKitDocument* pThis,
|
|
|
|
unsigned char* pBuffer,
|
|
|
|
const int nPart,
|
|
|
|
const int nCanvasWidth,
|
|
|
|
const int nCanvasHeight,
|
|
|
|
const int nTilePosX,
|
|
|
|
const int nTilePosY,
|
|
|
|
const int nTileWidth,
|
|
|
|
const int nTileHeight);
|
|
|
|
|
2016-09-16 12:38:31 +02:00
|
|
|
/// @see lok::Document::getViewIds().
|
|
|
|
bool (*getViewIds) (LibreOfficeKitDocument* pThis,
|
|
|
|
int* pArray,
|
|
|
|
size_t nSize);
|
|
|
|
|
2017-12-11 22:46:43 +01:00
|
|
|
/// @see lok::Document::setOutlineState).
|
|
|
|
void (*setOutlineState) (LibreOfficeKitDocument* pThis, bool bColumn, int nLevel, int nIndex, bool bHidden);
|
|
|
|
|
2017-12-01 14:27:21 +05:30
|
|
|
/// Paints window with given id to the buffer
|
2017-11-29 17:47:10 +05:30
|
|
|
/// @see lok::Document::paintWindow().
|
|
|
|
void (*paintWindow) (LibreOfficeKitDocument* pThis, unsigned nWindowId,
|
2017-11-05 14:01:42 +05:30
|
|
|
unsigned char* pBuffer,
|
2017-11-05 18:40:52 +05:30
|
|
|
const int x, const int y,
|
|
|
|
const int width, const int height);
|
|
|
|
|
2017-11-29 17:47:10 +05:30
|
|
|
/// @see lok::Document::postWindow().
|
|
|
|
void (*postWindow) (LibreOfficeKitDocument* pThis, unsigned nWindowId, int nAction);
|
|
|
|
|
2017-12-01 14:19:30 +05:30
|
|
|
/// @see lok::Document::postWindowKeyEvent().
|
|
|
|
void (*postWindowKeyEvent) (LibreOfficeKitDocument* pThis,
|
2017-12-01 14:27:21 +05:30
|
|
|
unsigned nWindowId,
|
2017-07-29 11:20:34 +05:30
|
|
|
int nType,
|
|
|
|
int nCharCode,
|
|
|
|
int nKeyCode);
|
|
|
|
|
2017-12-01 14:27:21 +05:30
|
|
|
/// @see lok::Document::postWindowMouseEvent().
|
|
|
|
void (*postWindowMouseEvent) (LibreOfficeKitDocument* pThis,
|
|
|
|
unsigned nWindowId,
|
2017-07-29 11:20:34 +05:30
|
|
|
int nType,
|
|
|
|
int nX,
|
|
|
|
int nY,
|
|
|
|
int nCount,
|
|
|
|
int nButtons,
|
|
|
|
int nModifier);
|
|
|
|
|
2017-12-12 18:13:03 +01:00
|
|
|
/// @see lok::Document::setViewLanguage().
|
|
|
|
void (*setViewLanguage) (LibreOfficeKitDocument* pThis, int nId, const char* language);
|
|
|
|
|
2018-02-21 22:09:09 +05:30
|
|
|
/// @see lok::Document::postWindowExtTextInputEvent
|
|
|
|
void (*postWindowExtTextInputEvent) (LibreOfficeKitDocument* pThis,
|
|
|
|
unsigned nWindowId,
|
|
|
|
int nType,
|
|
|
|
const char* pText);
|
2018-02-07 17:19:58 +05:30
|
|
|
|
2018-02-01 12:17:45 +01:00
|
|
|
/// @see lok::Document::getPartInfo().
|
|
|
|
char* (*getPartInfo) (LibreOfficeKitDocument* pThis, int nPart);
|
|
|
|
|
2015-12-07 09:25:42 +01:00
|
|
|
#endif // defined LOK_USE_UNSTABLE_API || defined LIBO_INTERNAL_ONLY
|
2013-11-15 12:09:10 +00:00
|
|
|
};
|
|
|
|
|
|
|
|
#ifdef __cplusplus
|
2014-04-08 17:39:10 +02:00
|
|
|
}
|
2013-11-15 12:09:10 +00:00
|
|
|
#endif
|
|
|
|
|
2015-02-02 11:03:13 +01:00
|
|
|
#endif // INCLUDED_LIBREOFFICEKIT_LIBREOFFICEKIT_H
|
|
|
|
|
2013-11-15 12:09:10 +00:00
|
|
|
/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
|