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

Last change on this file since 123 was 123, checked in by Eugene Romanenko, 15 years ago

allow printing in descending order (closes #88), small interface fixes (closes #89)

File size: 13.9 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/* ***** BEGIN LICENSE BLOCK *****
10 * Version: CDDL 1.0/LGPL 2.1
11 *
12 * The contents of this file are subject to the COMMON DEVELOPMENT AND
13 * DISTRIBUTION LICENSE (CDDL) Version 1.0 (the "License"); you may not use
14 * this file except in compliance with the License. You may obtain a copy of
15 * the License at http://www.sun.com/cddl/
16 *
17 * Software distributed under the License is distributed on an "AS IS" basis,
18 * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
19 * for the specific language governing rights and limitations under the
20 * License.
21 *
22 * The Initial Developer of the Original Code is
23 * Eugene Romanenko, netlabs.org.
24 * Portions created by the Initial Developer are Copyright (C) 2006
25 * the Initial Developer. All Rights Reserved.
26 *
27 * Contributor(s):
28 *
29 * Alternatively, the contents of this file may be used under the terms of
30 * the GNU Lesser General Public License Version 2.1 or later (the "LGPL"),
31 * in which case the provisions of the LGPL are applicable instead of those
32 * above. If you wish to allow use of your version of this file only under the
33 * terms of the LGPL, and not to allow others to use your version of this file
34 * under the terms of the CDDL, indicate your decision by deleting the
35 * provisions above and replace them with the notice and other provisions
36 * required by the LGPL. If you do not delete the provisions above, a recipient
37 * may use your version of this file under the terms of any one of the CDDL
38 * or the LGPL.
39 *
40 * ***** END LICENSE BLOCK ***** */
41
42
43
44/*
45 *  This file was generated by the SOM Compiler and Emitter Framework.
46 *  Generated using template emitter:
47 *      SOM Emitter emitxtm: 2.23.1.9
48 */
49
50#ifndef SOM_Module_ludoc_Source
51#define SOM_Module_ludoc_Source
52#endif
53#define LuDocument_Class_Source
54
55#include "ludoc.xih"
56
57
58unsigned _System LibMain( unsigned hmod, unsigned termination )
59{
60    if ( termination ) {
61        /* DLL is detaching from process */
62    } else {
63        /* DLL is attaching to process */
64    }
65    return( 1 );
66}
67
68
69extern "C" LuDocument * _System createObject()
70{
71    return new LuDocument;
72}
73
74extern "C" char * _System getSupportedExtensions()
75{
76    return "";
77}
78
79extern "C" char * _System getDescription()
80{
81    return "NULL plugin, abstract base class for Lucide plugins.";
82}
83
84
85/*
86 * SOM_Scope long  SOMLINK getBpp(LuDocument *somSelf,  Environment *ev)
87 */
88
89/*
90 * The prototype for getBpp was replaced by the following prototype:
91 */
92SOM_Scope short  SOMLINK getBpp(LuDocument *somSelf,  Environment *ev)
93{
94    // Abstract method does nothing
95    return 0;
96}
97
98SOM_Scope boolean  SOMLINK isScalable(LuDocument *somSelf,  Environment *ev)
99{
100    return FALSE;
101}
102
103
104SOM_Scope boolean  SOMLINK isFixedImage(LuDocument *somSelf, 
105                                         Environment *ev)
106{
107    return TRUE;
108}
109
110
111SOM_Scope boolean  SOMLINK isRotable(LuDocument *somSelf,  Environment *ev)
112{
113    return FALSE;
114}
115
116
117SOM_Scope long  SOMLINK getPageCount(LuDocument *somSelf,  Environment *ev)
118{
119    // Abstract method does nothing
120    return 0;
121}
122
123
124SOM_Scope void  SOMLINK getPageSize(LuDocument *somSelf,  Environment *ev,
125                                    long pagenum, double* width,
126                                    double* height)
127{
128    // Abstract method does nothing
129}
130
131
132SOM_Scope void  SOMLINK renderPageToPixbuf(LuDocument *somSelf,
133                                            Environment *ev,
134                                           long pagenum, long src_x,
135                                           long src_y, long src_width,
136                                           long src_height, double scale,
137                                           long rotation, LuPixbuf* pixbuf)
138{
139    // Abstract method does nothing
140}
141
142
143SOM_Scope boolean  SOMLINK isAsynchRenderingSupported(LuDocument *somSelf, 
144                                                       Environment *ev)
145{
146    return FALSE;
147}
148
149
150SOM_Scope void  SOMLINK renderPageToPixbufAsynch(LuDocument *somSelf, 
151                                                  Environment *ev, 
152                                                 long pagenum, 
153                                                 long src_x, 
154                                                 long src_y, 
155                                                 long src_width, 
156                                                 long src_height, 
157                                                 double scale, 
158                                                 long rotation, 
159                                                 LuPixbuf* pixbuf, 
160                                                 LuDocument_asynchCallbackFn fnd, 
161                                                 LuDocument_asynchCallbackFn fna, 
162                                                 somToken fndata)
163{
164    // Abstract method does nothing
165}
166
167
168SOM_Scope boolean  SOMLINK isRenderIntoPS(LuDocument *somSelf, 
169                                           Environment *ev)
170{
171    return FALSE;
172}
173
174SOM_Scope void  SOMLINK renderPageToPS(LuDocument *somSelf,  Environment *ev, 
175                                       long pagenum, long src_x, 
176                                       long src_y, long src_width, 
177                                       long src_height, double scale, 
178                                       long rotation, unsigned long hps, 
179                                       somMToken rect)
180{
181    // Abstract method does nothing
182}
183
184
185SOM_Scope boolean  SOMLINK isHaveText(LuDocument *somSelf,
186                                      Environment *ev)
187{
188    return FALSE;
189}
190
191
192SOM_Scope LuDocument_LuRectSequence*  SOMLINK getSelectionRectangles(LuDocument *somSelf,
193                                                                    Environment *ev,
194                                                                   long pagenum,
195                                                                   LuRectangle* selection)
196{
197    // Abstract method does nothing
198    return NULL;
199}
200
201
202SOM_Scope void  SOMLINK freeRectangles(Environment *ev,
203                                       LuDocument_LuRectSequence* rectangles)
204{
205    if ( rectangles != NULL )
206    {
207        if ( ( ( rectangles->_maximum != 0 ) ||
208               ( rectangles->_length != 0 ) ) &&
209                   ( rectangles->_buffer != NULL ) )
210        {
211            SOMFree( rectangles->_buffer );
212        }
213        SOMFree( rectangles );
214    }
215}
216
217
218SOM_Scope string  SOMLINK getText(LuDocument *somSelf,  Environment *ev,
219                                  long pagenum, LuRectangle* selection)
220{
221    // Abstract method does nothing
222    return NULL;
223}
224
225
226SOM_Scope boolean  SOMLINK isHaveLinks(LuDocument *somSelf,  Environment *ev)
227{
228    return FALSE;
229}
230
231
232SOM_Scope LuDocument_LuLinkMapSequence*  SOMLINK getLinkMapping(LuDocument *somSelf,
233                                                                 Environment *ev,
234                                                                long pagenum)
235{
236    // Abstract method does nothing
237    return NULL;
238}
239
240
241SOM_Scope void  SOMLINK freeLinkMapping(Environment *ev,
242                                        LuDocument_LuLinkMapSequence* mapping)
243{
244    if ( mapping != NULL )
245    {
246        if ( ( ( mapping->_maximum != 0 ) ||
247               ( mapping->_length != 0 ) ) &&
248                   ( mapping->_buffer != NULL ) )
249        {
250            for ( int i = 0; i < mapping->_length; i++ )
251            {
252                if ( mapping->_buffer[ i ].link.title != NULL ) {
253                    SOMFree( mapping->_buffer[ i ].link.title );
254                }
255                if ( mapping->_buffer[ i ].link.uri != NULL ) {
256                    SOMFree( mapping->_buffer[ i ].link.uri );
257                }
258            }
259
260            SOMFree( mapping->_buffer );
261        }
262        SOMFree( mapping );
263    }
264}
265
266
267SOM_Scope boolean  SOMLINK isSaveable(LuDocument *somSelf,  Environment *ev)
268{
269    return FALSE;
270}
271
272
273SOM_Scope boolean  SOMLINK saveAs(LuDocument *somSelf,  Environment *ev,
274                                  string filename)
275{
276    // Abstract method does nothing
277    return FALSE;
278}
279
280
281SOM_Scope boolean  SOMLINK isPostScriptExportable(LuDocument *somSelf,
282                                           Environment *ev)
283{
284    return FALSE;
285}
286
287
288
289/*
290 * SOM_Scope boolean  SOMLINK exportToPostScript(LuDocument *somSelf,
291 *                                                Environment *ev,
292 *                                               string filename,
293 *                                               long first_page,
294 *                                               long last_page,
295 *                                               double width, double height,
296 *                                               boolean duplex,
297 *                                               boolean* brkExport)
298 */
299
300/*
301 * The prototype for exportToPostScript was replaced by the following prototype:
302 */
303SOM_Scope boolean  SOMLINK exportToPostScript(LuDocument *somSelf, 
304                                               Environment *ev, 
305                                              string filename, 
306                                              long first_page, 
307                                              long last_page, 
308                                              double width, double height, 
309                                              boolean* brkExport)
310{
311    // Abstract method does nothing
312    return FALSE;
313}
314
315
316SOM_Scope boolean  SOMLINK isHaveFontInfo(LuDocument *somSelf,
317                                           Environment *ev)
318{
319    return FALSE;
320}
321
322
323SOM_Scope LuDocument_LuFontInfoSequence*  SOMLINK getFontInfo(LuDocument *somSelf,
324                                                               Environment *ev)
325{
326    // Abstract method does nothing
327    return NULL;
328}
329
330
331SOM_Scope void  SOMLINK freeFontInfo(Environment *ev,
332                                     LuDocument_LuFontInfoSequence* fonts)
333{
334    if ( fonts != NULL )
335    {
336        if ( ( ( fonts->_maximum != 0 ) ||
337               ( fonts->_length != 0 ) ) &&
338                   ( fonts->_buffer != NULL ) )
339        {
340            for ( int i = 0; i < fonts->_length; i++ )
341            {
342                if ( fonts->_buffer[ i ].name != NULL ) {
343                    SOMFree( fonts->_buffer[ i ].name );
344                }
345                if ( fonts->_buffer[ i ].type != NULL ) {
346                    SOMFree( fonts->_buffer[ i ].type );
347                }
348            }
349
350            SOMFree( fonts->_buffer );
351        }
352        SOMFree( fonts );
353    }
354}
355
356
357SOM_Scope boolean  SOMLINK isHaveIndex(LuDocument *somSelf,  Environment *ev)
358{
359    return FALSE;
360}
361
362
363SOM_Scope LuIndexNode*  SOMLINK getIndex(LuDocument *somSelf,
364                                          Environment *ev)
365{
366    // Abstract method does nothing
367    return NULL;
368}
369
370
371SOM_Scope LuDocumentInfo*  SOMLINK getDocumentInfo(LuDocument *somSelf,
372                                                    Environment *ev)
373{
374    LuDocumentInfo *info = (LuDocumentInfo *)SOMMalloc( sizeof( LuDocumentInfo ) );
375    memset( info, 0, sizeof( LuDocumentInfo ) );
376    return info;
377}
378
379
380SOM_Scope void  SOMLINK freeDocumentInfo(Environment *ev, LuDocumentInfo* info)
381{
382    if ( info != NULL )
383    {
384        if ( info->fields_mask & LU_DOCUMENT_INFO_TITLE ) {
385            SOMFree( info->title );
386        }
387        if ( info->fields_mask & LU_DOCUMENT_INFO_FORMAT ) {
388            SOMFree( info->format );
389        }
390        if ( info->fields_mask & LU_DOCUMENT_INFO_AUTHOR ) {
391            SOMFree( info->author );
392        }
393        if ( info->fields_mask & LU_DOCUMENT_INFO_SUBJECT ) {
394            SOMFree( info->subject );
395        }
396        if ( info->fields_mask & LU_DOCUMENT_INFO_KEYWORDS ) {
397            SOMFree( info->keywords );
398        }
399        if ( info->fields_mask & LU_DOCUMENT_INFO_CREATOR ) {
400            SOMFree( info->creator );
401        }
402        if ( info->fields_mask & LU_DOCUMENT_INFO_PRODUCER ) {
403            SOMFree( info->producer );
404        }
405
406        SOMFree( info );
407    }
408}
409
410
411SOM_Scope boolean  SOMLINK getThumbnailSize(LuDocument *somSelf,
412                                             Environment *ev,
413                                            long pagenum, 
414                                            short suggested_width,
415                                            short* width, short* height)
416{
417    // Abstract method does nothing
418    return FALSE;
419}
420
421
422SOM_Scope LuPixbuf*  SOMLINK getThumbnail(LuDocument *somSelf,
423                                           Environment *ev, long pagenum,
424                                          short suggested_width)
425{
426    // Abstract method does nothing
427    return NULL;
428}
429
430
431SOM_Scope LuDocument_LuRectSequence*  SOMLINK searchText(LuDocument *somSelf, 
432                                                          Environment *ev, 
433                                                         long pagenum, 
434                                                         string text, 
435                                                         boolean caseSensitive )
436{
437    // Abstract method does nothing
438    return NULL;
439}
440
441
442SOM_Scope void SOMLINK somDefaultInit(LuDocument *somSelf, som3InitCtrl* ctrl)
443{
444    somInitCtrl globalCtrl;
445    somBooleanVector myMask;
446    LuDocument_BeginInitializer_somDefaultInit;
447    LuDocument_Init_SOMObject_somDefaultInit(somSelf, ctrl);
448}
449
450
451SOM_Scope boolean  SOMLINK loadFile(LuDocument *somSelf,  Environment *ev,
452                                    string filename, string password,
453                                    string* error)
454{
455    // Abstract method does nothing
456    return FALSE;
457}
458
Note: See TracBrowser for help on using the repository browser.