source: trunk/Lucide/SOURCE/plugins/ludoc/ludoc.cpp @ 2

Last change on this file since 2 was 2, checked in by Eugene Romanenko, 16 years ago

First import

File size: 10.7 KB
Line 
1
2/*
3 *  This file was generated by the SOM Compiler.
4 *  Generated using:
5 *     SOM incremental update: 2.24
6 */
7
8
9/*
10 *  This file was generated by the SOM Compiler and Emitter Framework.
11 *  Generated using template emitter:
12 *      SOM Emitter emitxtm: 2.23.1.9
13 */
14
15#ifndef SOM_Module_ludoc_Source
16#define SOM_Module_ludoc_Source
17#endif
18#define LuDocument_Class_Source
19
20#include "ludoc.xih"
21
22
23unsigned _System LibMain( unsigned hmod, unsigned termination )
24{
25    if ( termination ) {
26        /* DLL is detaching from process */
27    } else {
28        /* DLL is attaching to process */
29    }
30    return( 1 );
31}
32
33
34extern "C" LuDocument * _System createObject()
35{
36    return new LuDocument;
37}
38
39extern "C" char * _System getSupportedExtensions()
40{
41    return "";
42}
43
44extern "C" char * _System getDescription()
45{
46    return "NULL plugin, abstract base class for Lucide plugins.";
47}
48
49SOM_Scope boolean  SOMLINK isScalable(LuDocument *somSelf,  Environment *ev)
50{
51    return FALSE;
52}
53
54
55SOM_Scope boolean  SOMLINK isRotable(LuDocument *somSelf,  Environment *ev)
56{
57    return FALSE;
58}
59
60
61SOM_Scope long  SOMLINK getPageCount(LuDocument *somSelf,  Environment *ev)
62{
63    // Abstract method does nothing
64    return 0;
65}
66
67
68SOM_Scope void  SOMLINK getPageSize(LuDocument *somSelf,  Environment *ev,
69                                    long pagenum, double* width,
70                                    double* height)
71{
72    // Abstract method does nothing
73}
74
75
76SOM_Scope void  SOMLINK renderPageToPixbuf(LuDocument *somSelf,
77                                            Environment *ev,
78                                           long pagenum, long src_x,
79                                           long src_y, long src_width,
80                                           long src_height, double scale,
81                                           long rotation, LuPixbuf* pixbuf)
82{
83    // Abstract method does nothing
84}
85
86
87SOM_Scope boolean  SOMLINK isAsynchRenderingSupported(LuDocument *somSelf, 
88                                                       Environment *ev)
89{
90    return FALSE;
91}
92
93
94SOM_Scope void  SOMLINK renderPageToPixbufAsynch(LuDocument *somSelf, 
95                                                  Environment *ev, 
96                                                 long pagenum, 
97                                                 long src_x, 
98                                                 long src_y, 
99                                                 long src_width, 
100                                                 long src_height, 
101                                                 double scale, 
102                                                 long rotation, 
103                                                 LuPixbuf* pixbuf, 
104                                                 LuDocument_asynchCallbackFn fnd, 
105                                                 LuDocument_asynchCallbackFn fna, 
106                                                 somToken fndata)
107{
108    // Abstract method does nothing
109}
110
111SOM_Scope boolean  SOMLINK isHaveText(LuDocument *somSelf,
112                                      Environment *ev)
113{
114    return FALSE;
115}
116
117
118SOM_Scope LuDocument_LuRectSequence*  SOMLINK getSelectionRectangles(LuDocument *somSelf,
119                                                                    Environment *ev,
120                                                                   long pagenum,
121                                                                   double scale,
122                                                                   LuRectangle* selection)
123{
124    // Abstract method does nothing
125    return NULL;
126}
127
128
129SOM_Scope void  SOMLINK freeRectangles(Environment *ev,
130                                       LuDocument_LuRectSequence* rectangles)
131{
132    if ( rectangles != NULL )
133    {
134        if ( ( ( rectangles->_maximum != 0 ) ||
135               ( rectangles->_length != 0 ) ) &&
136                   ( rectangles->_buffer != NULL ) )
137        {
138            SOMFree( rectangles->_buffer );
139        }
140        SOMFree( rectangles );
141    }
142}
143
144
145SOM_Scope string  SOMLINK getText(LuDocument *somSelf,  Environment *ev,
146                                  long pagenum, LuRectangle* selection)
147{
148    // Abstract method does nothing
149    return NULL;
150}
151
152
153SOM_Scope boolean  SOMLINK isHaveLinks(LuDocument *somSelf,  Environment *ev)
154{
155    return FALSE;
156}
157
158
159SOM_Scope LuDocument_LuLinkMapSequence*  SOMLINK getLinkMapping(LuDocument *somSelf,
160                                                                 Environment *ev,
161                                                                long pagenum)
162{
163    // Abstract method does nothing
164    return NULL;
165}
166
167
168SOM_Scope void  SOMLINK freeLinkMapping(Environment *ev,
169                                        LuDocument_LuLinkMapSequence* mapping)
170{
171    if ( mapping != NULL )
172    {
173        if ( ( ( mapping->_maximum != 0 ) ||
174               ( mapping->_length != 0 ) ) &&
175                   ( mapping->_buffer != NULL ) )
176        {
177            for ( int i = 0; i < mapping->_length; i++ )
178            {
179                if ( mapping->_buffer[ i ].link.title != NULL ) {
180                    SOMFree( mapping->_buffer[ i ].link.title );
181                }
182                if ( mapping->_buffer[ i ].link.uri != NULL ) {
183                    SOMFree( mapping->_buffer[ i ].link.uri );
184                }
185            }
186
187            SOMFree( mapping->_buffer );
188        }
189        SOMFree( mapping );
190    }
191}
192
193
194SOM_Scope boolean  SOMLINK isSaveable(LuDocument *somSelf,  Environment *ev)
195{
196    return FALSE;
197}
198
199
200SOM_Scope boolean  SOMLINK saveAs(LuDocument *somSelf,  Environment *ev,
201                                  string filename)
202{
203    // Abstract method does nothing
204    return FALSE;
205}
206
207
208SOM_Scope boolean  SOMLINK isPSExportable(LuDocument *somSelf,
209                                           Environment *ev)
210{
211    return FALSE;
212}
213
214
215SOM_Scope void  SOMLINK exportToPS(LuDocument *somSelf,  Environment *ev,
216                                   string filename, long first_page,
217                                   long last_page, double width,
218                                   double height, boolean duplex)
219{
220    // Abstract method does nothing
221}
222
223
224SOM_Scope boolean  SOMLINK isHaveFontInfo(LuDocument *somSelf,
225                                           Environment *ev)
226{
227    return FALSE;
228}
229
230
231SOM_Scope LuDocument_LuFontInfoSequence*  SOMLINK getFontInfo(LuDocument *somSelf,
232                                                               Environment *ev)
233{
234    // Abstract method does nothing
235    return NULL;
236}
237
238
239SOM_Scope void  SOMLINK freeFontInfo(Environment *ev,
240                                     LuDocument_LuFontInfoSequence* fonts)
241{
242    if ( fonts != NULL )
243    {
244        if ( ( ( fonts->_maximum != 0 ) ||
245               ( fonts->_length != 0 ) ) &&
246                   ( fonts->_buffer != NULL ) )
247        {
248            for ( int i = 0; i < fonts->_length; i++ )
249            {
250                if ( fonts->_buffer[ i ].name != NULL ) {
251                    SOMFree( fonts->_buffer[ i ].name );
252                }
253                if ( fonts->_buffer[ i ].type != NULL ) {
254                    SOMFree( fonts->_buffer[ i ].type );
255                }
256                if ( fonts->_buffer[ i ].embedded != NULL ) {
257                    SOMFree( fonts->_buffer[ i ].embedded );
258                }
259            }
260
261            SOMFree( fonts->_buffer );
262        }
263        SOMFree( fonts );
264    }
265}
266
267
268SOM_Scope boolean  SOMLINK isHaveIndex(LuDocument *somSelf,  Environment *ev)
269{
270    return FALSE;
271}
272
273
274SOM_Scope LuIndexNode*  SOMLINK getIndex(LuDocument *somSelf,
275                                          Environment *ev)
276{
277    // Abstract method does nothing
278    return NULL;
279}
280
281
282SOM_Scope LuDocumentInfo*  SOMLINK getDocumentInfo(LuDocument *somSelf,
283                                                    Environment *ev)
284{
285    LuDocumentInfo *info = (LuDocumentInfo *)SOMMalloc( sizeof( LuDocumentInfo ) );
286    memset( info, 0, sizeof( LuDocumentInfo ) );
287    return info;
288}
289
290
291SOM_Scope void  SOMLINK freeDocumentInfo(Environment *ev, LuDocumentInfo* info)
292{
293    if ( info != NULL )
294    {
295        if ( info->fields_mask & LU_DOCUMENT_INFO_TITLE ) {
296            SOMFree( info->title );
297        }
298        if ( info->fields_mask & LU_DOCUMENT_INFO_FORMAT ) {
299            SOMFree( info->format );
300        }
301        if ( info->fields_mask & LU_DOCUMENT_INFO_AUTHOR ) {
302            SOMFree( info->author );
303        }
304        if ( info->fields_mask & LU_DOCUMENT_INFO_SUBJECT ) {
305            SOMFree( info->subject );
306        }
307        if ( info->fields_mask & LU_DOCUMENT_INFO_KEYWORDS ) {
308            SOMFree( info->keywords );
309        }
310        if ( info->fields_mask & LU_DOCUMENT_INFO_CREATOR ) {
311            SOMFree( info->creator );
312        }
313        if ( info->fields_mask & LU_DOCUMENT_INFO_PRODUCER ) {
314            SOMFree( info->producer );
315        }
316
317        SOMFree( info );
318    }
319}
320
321
322SOM_Scope boolean  SOMLINK getThumbnailSize(LuDocument *somSelf,
323                                             Environment *ev,
324                                            long pagenum, 
325                                            short suggested_width,
326                                            short* width, short* height)
327{
328    // Abstract method does nothing
329    return FALSE;
330}
331
332
333SOM_Scope LuPixbuf*  SOMLINK getThumbnail(LuDocument *somSelf,
334                                           Environment *ev, long pagenum,
335                                          short suggested_width)
336{
337    // Abstract method does nothing
338    return NULL;
339}
340
341
342SOM_Scope LuDocument_LuRectSequence*  SOMLINK searchText(LuDocument *somSelf, 
343                                                          Environment *ev, 
344                                                         long pagenum, 
345                                                         string text, 
346                                                         boolean caseSensitive )
347{
348    // Abstract method does nothing
349    return NULL;
350}
351
352
353SOM_Scope void SOMLINK somDefaultInit(LuDocument *somSelf, som3InitCtrl* ctrl)
354{
355    somInitCtrl globalCtrl;
356    somBooleanVector myMask;
357    LuDocument_BeginInitializer_somDefaultInit;
358    LuDocument_Init_SOMObject_somDefaultInit(somSelf, ctrl);
359}
360
361
362SOM_Scope boolean  SOMLINK loadFile(LuDocument *somSelf,  Environment *ev,
363                                    string filename, string password,
364                                    string* error)
365{
366    // Abstract method does nothing
367    return FALSE;
368}
369
Note: See TracBrowser for help on using the repository browser.