LCOV - code coverage report
Current view: top level - include/LibreOfficeKit - LibreOfficeKit.h (source / functions) Hit Total Coverage
Test: commit c8344322a7af75b84dd3ca8f78b05543a976dfd5 Lines: 2 2 100.0 %
Date: 2015-06-13 12:38:46 Functions: 2 2 100.0 %
Legend: Lines: hit not hit

          Line data    Source code
       1             : /* -*- Mode: C; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
       2             : /*
       3             :  * This file is part of the LibreOffice project.
       4             :  *
       5             :  * This Source Code Form is subject to the terms of the Mozilla Public
       6             :  * License, v. 2.0. If a copy of the MPL was not distributed with this
       7             :  * file, You can obtain one at http://mozilla.org/MPL/2.0/.
       8             :  */
       9             : 
      10             : #ifndef INCLUDED_LIBREOFFICEKIT_LIBREOFFICEKIT_H
      11             : #define INCLUDED_LIBREOFFICEKIT_LIBREOFFICEKIT_H
      12             : 
      13             : #include <stddef.h>
      14             : 
      15             : #include <LibreOfficeKit/LibreOfficeKitTypes.h>
      16             : 
      17             : #ifdef __cplusplus
      18             : extern "C"
      19             : {
      20             : #endif
      21             : 
      22             : typedef struct _LibreOfficeKit LibreOfficeKit;
      23             : typedef struct _LibreOfficeKitClass LibreOfficeKitClass;
      24             : 
      25             : typedef struct _LibreOfficeKitDocument LibreOfficeKitDocument;
      26             : typedef struct _LibreOfficeKitDocumentClass LibreOfficeKitDocumentClass;
      27             : 
      28             : // Do we have an extended member in this struct ?
      29             : #define LIBREOFFICEKIT_HAS_MEMBER(strct,member,nSize) \
      30             :     (offsetof(strct, member) < (nSize))
      31             : 
      32             : #define LIBREOFFICEKIT_HAS(pKit,member) LIBREOFFICEKIT_HAS_MEMBER(LibreOfficeKitClass,member,(pKit)->pClass->nSize)
      33             : 
      34           1 : struct _LibreOfficeKit
      35             : {
      36             :     LibreOfficeKitClass* pClass;
      37             : };
      38             : 
      39             : struct _LibreOfficeKitClass
      40             : {
      41             :     size_t  nSize;
      42             : 
      43             :     void (*destroy) (LibreOfficeKit* pThis);
      44             : 
      45             :     LibreOfficeKitDocument* (*documentLoad) (LibreOfficeKit* pThis,
      46             :                                              const char* pURL);
      47             : 
      48             :     char* (*getError) (LibreOfficeKit* pThis);
      49             : 
      50             :     LibreOfficeKitDocument* (*documentLoadWithOptions) (LibreOfficeKit* pThis,
      51             :                                                         const char* pURL,
      52             :                                                         const char* pOptions);
      53             : #ifdef LOK_USE_UNSTABLE_API
      54             :     void (*registerCallback) (LibreOfficeKit* pThis,
      55             :                               LibreOfficeKitCallback pCallback,
      56             :                               void* pData);
      57             : #endif
      58             : };
      59             : 
      60             : #define LIBREOFFICEKIT_DOCUMENT_HAS(pDoc,member) LIBREOFFICEKIT_HAS_MEMBER(LibreOfficeKitDocumentClass,member,(pDoc)->pClass->nSize)
      61             : 
      62           2 : struct _LibreOfficeKitDocument
      63             : {
      64             :     LibreOfficeKitDocumentClass* pClass;
      65             : };
      66             : 
      67             : struct _LibreOfficeKitDocumentClass
      68             : {
      69             :     size_t  nSize;
      70             : 
      71             :     void (*destroy) (LibreOfficeKitDocument* pThis);
      72             : 
      73             :     int (*saveAs) (LibreOfficeKitDocument* pThis,
      74             :                    const char* pUrl,
      75             :                    const char* pFormat,
      76             :                    const char* pFilterOptions);
      77             : 
      78             : #ifdef LOK_USE_UNSTABLE_API
      79             :     /// @see lok::Document::getDocumentType().
      80             :     int (*getDocumentType) (LibreOfficeKitDocument* pThis);
      81             : 
      82             :     /// @see lok::Document::getParts().
      83             :     int (*getParts) (LibreOfficeKitDocument* pThis);
      84             : 
      85             :     /// @see lok::Document::getPart().
      86             :     int (*getPart) (LibreOfficeKitDocument* pThis);
      87             : 
      88             :     /// @see lok::Document::setPart().
      89             :     void (*setPart) (LibreOfficeKitDocument* pThis,
      90             :                      int nPart);
      91             : 
      92             :     /// @see lok::Document::getPartName().
      93             :     char* (*getPartName) (LibreOfficeKitDocument* pThis,
      94             :                           int nPart);
      95             : 
      96             :     /** Sets mode of the current part.
      97             :      *
      98             :      * @param nMode - element from the LibreOfficeKitPartMode enum.
      99             :      */
     100             :     void (*setPartMode) (LibreOfficeKitDocument* pThis,
     101             :                          int nMode);
     102             : 
     103             :     /// @see lok::Document::paintTile().
     104             :     void (*paintTile) (LibreOfficeKitDocument* pThis,
     105             :                        unsigned char* pBuffer,
     106             :                        const int nCanvasWidth,
     107             :                        const int nCanvasHeight,
     108             :                        const int nTilePosX,
     109             :                        const int nTilePosY,
     110             :                        const int nTileWidth,
     111             :                        const int nTileHeight);
     112             : 
     113             :     /// @see lok::Document::getDocumentSize().
     114             :     void (*getDocumentSize) (LibreOfficeKitDocument* pThis,
     115             :                              long* pWidth,
     116             :                              long* pHeight);
     117             : 
     118             :     /// @see lok::Document::initializeForRendering().
     119             :     void (*initializeForRendering) (LibreOfficeKitDocument* pThis);
     120             : 
     121             :     void (*registerCallback) (LibreOfficeKitDocument* pThis,
     122             :                               LibreOfficeKitCallback pCallback,
     123             :                               void* pData);
     124             : 
     125             :     /// @see lok::Document::postKeyEvent
     126             :     void (*postKeyEvent) (LibreOfficeKitDocument* pThis,
     127             :                           int nType,
     128             :                           int nCharCode,
     129             :                           int nKeyCode);
     130             : 
     131             :     /// @see lok::Document::postMouseEvent
     132             :     void (*postMouseEvent) (LibreOfficeKitDocument* pThis,
     133             :                             int nType,
     134             :                             int nX,
     135             :                             int nY,
     136             :                             int nCount);
     137             : 
     138             :     /// @see lok::Document::postUnoCommand
     139             :     void (*postUnoCommand) (LibreOfficeKitDocument* pThis,
     140             :                             const char* pCommand,
     141             :                             const char* pArguments);
     142             : 
     143             :     /// @see lok::Document::setTextSelection
     144             :     void (*setTextSelection) (LibreOfficeKitDocument* pThis,
     145             :                               int nType,
     146             :                               int nX,
     147             :                               int nY);
     148             : 
     149             :     /// @see lok::Document::setGraphicSelection
     150             :     void (*setGraphicSelection) (LibreOfficeKitDocument* pThis,
     151             :                                  int nType,
     152             :                                  int nX,
     153             :                                  int nY);
     154             : 
     155             :     /// @see lok::Document::resetSelection
     156             :     void (*resetSelection) (LibreOfficeKitDocument* pThis);
     157             : #endif // LOK_USE_UNSTABLE_API
     158             : };
     159             : 
     160             : #ifdef __cplusplus
     161             : }
     162             : #endif
     163             : 
     164             : #endif // INCLUDED_LIBREOFFICEKIT_LIBREOFFICEKIT_H
     165             : 
     166             : /* vim:set shiftwidth=4 softtabstop=4 expandtab: */

Generated by: LCOV version 1.11