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

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

added licence block to source files

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