1 /*
2  * This file is part of EvinceD.
3  * EvinceD is based on GtkD.
4  *
5  * EvinceD is free software; you can redistribute it and/or modify
6  * it under the terms of the GNU Lesser General Public License
7  * as published by the Free Software Foundation; either version 3
8  * of the License, or (at your option) any later version, with
9  * some exceptions, please read the COPYING file.
10  *
11  * EvinceD is distributed in the hope that it will be useful,
12  * but WITHOUT ANY WARRANTY; without even the implied warranty of
13  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
14  * GNU Lesser General Public License for more details.
15  *
16  * You should have received a copy of the GNU Lesser General Public License
17  * along with EvinceD; if not, write to the Free Software
18  * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110, USA
19  */
20 
21 // generated automatically - do not change
22 // find conversion definition on APILookup.txt
23 
24 
25 module evince.document.c.types;
26 
27 public import cairo.c.types;
28 public import gdk.c.types;
29 public import gdkpixbuf.c.types;
30 public import gio.c.types;
31 public import glib.c.types;
32 public import gobject.c.types;
33 public import gtk.c.types;
34 public import pango.c.types;
35 
36 
37 public alias void* EvBackendPage;
38 
39 public alias GDestroyNotify EvBackendPageDestroyFunc;
40 
41 public enum EvAnnotationTextIcon
42 {
43 	NOTE = 0,
44 	COMMENT = 1,
45 	KEY = 2,
46 	HELP = 3,
47 	NEW_PARAGRAPH = 4,
48 	PARAGRAPH = 5,
49 	INSERT = 6,
50 	CROSS = 7,
51 	CIRCLE = 8,
52 	UNKNOWN = 9,
53 }
54 alias EvAnnotationTextIcon AnnotationTextIcon;
55 
56 public enum EvAnnotationTextMarkupType
57 {
58 	HIGHLIGHT = 0,
59 	STRIKE_OUT = 1,
60 	UNDERLINE = 2,
61 	SQUIGGLY = 3,
62 }
63 alias EvAnnotationTextMarkupType AnnotationTextMarkupType;
64 
65 public enum EvAnnotationType
66 {
67 	UNKNOWN = 0,
68 	TEXT = 1,
69 	ATTACHMENT = 2,
70 	TEXT_MARKUP = 3,
71 }
72 alias EvAnnotationType AnnotationType;
73 
74 public enum EvAnnotationsOverMarkup
75 {
76 	NOT_IMPLEMENTED = 0,
77 	UNKNOWN = 1,
78 	YES = 2,
79 	NOT = 3,
80 }
81 alias EvAnnotationsOverMarkup AnnotationsOverMarkup;
82 
83 public enum EvAnnotationsSaveMask
84 {
85 	NONE = 0,
86 	CONTENTS = 1,
87 	COLOR = 2,
88 	AREA = 4,
89 	LABEL = 8,
90 	OPACITY = 16,
91 	POPUP_RECT = 32,
92 	POPUP_IS_OPEN = 64,
93 	TEXT_IS_OPEN = 128,
94 	TEXT_ICON = 256,
95 	ATTACHMENT = 512,
96 	TEXT_MARKUP_TYPE = 1024,
97 	ALL = 2047,
98 }
99 alias EvAnnotationsSaveMask AnnotationsSaveMask;
100 
101 public enum EvCompressionType
102 {
103 	NONE = 0,
104 	BZIP2 = 1,
105 	GZIP = 2,
106 	LZMA = 3,
107 }
108 alias EvCompressionType CompressionType;
109 
110 public enum EvDocumentError
111 {
112 	INVALID = 0,
113 	UNSUPPORTED_CONTENT = 1,
114 	ENCRYPTED = 2,
115 }
116 alias EvDocumentError DocumentError;
117 
118 public enum EvDocumentInfoFields
119 {
120 	TITLE = 1,
121 	FORMAT = 2,
122 	AUTHOR = 4,
123 	SUBJECT = 8,
124 	KEYWORDS = 16,
125 	LAYOUT = 32,
126 	CREATOR = 64,
127 	PRODUCER = 128,
128 	CREATION_DATE = 256,
129 	MOD_DATE = 512,
130 	LINEARIZED = 1024,
131 	START_MODE = 2048,
132 	UI_HINTS = 4096,
133 	PERMISSIONS = 8192,
134 	N_PAGES = 16384,
135 	SECURITY = 32768,
136 	PAPER_SIZE = 65536,
137 	LICENSE = 131072,
138 }
139 alias EvDocumentInfoFields DocumentInfoFields;
140 
141 public enum EvDocumentLayout
142 {
143 	SINGLE_PAGE = 0,
144 	ONE_COLUMN = 1,
145 	TWO_COLUMN_LEFT = 2,
146 	TWO_COLUMN_RIGHT = 3,
147 	TWO_PAGE_LEFT = 4,
148 	TWO_PAGE_RIGHT = 5,
149 }
150 alias EvDocumentLayout DocumentLayout;
151 
152 public enum EvDocumentLoadFlags
153 {
154 	NONE = 0,
155 	NO_CACHE = 1,
156 }
157 alias EvDocumentLoadFlags DocumentLoadFlags;
158 
159 public enum EvDocumentMode
160 {
161 	NONE = 0,
162 	USE_OC = 1,
163 	USE_THUMBS = 2,
164 	FULL_SCREEN = 3,
165 	USE_ATTACHMENTS = 4,
166 	PRESENTATION = 3,
167 }
168 alias EvDocumentMode DocumentMode;
169 
170 public enum EvDocumentPermissions
171 {
172 	OK_TO_PRINT = 1,
173 	OK_TO_MODIFY = 2,
174 	OK_TO_COPY = 4,
175 	OK_TO_ADD_NOTES = 8,
176 	FULL = 15,
177 }
178 alias EvDocumentPermissions DocumentPermissions;
179 
180 public enum EvDocumentUIHints
181 {
182 	HIDE_TOOLBAR = 1,
183 	HIDE_MENUBAR = 2,
184 	HIDE_WINDOWUI = 4,
185 	FIT_WINDOW = 8,
186 	CENTER_WINDOW = 16,
187 	DISPLAY_DOC_TITLE = 32,
188 	DIRECTION_RTL = 64,
189 }
190 alias EvDocumentUIHints DocumentUIHints;
191 
192 public enum EvFileExporterCapabilities
193 {
194 	PAGE_SET = 1,
195 	COPIES = 2,
196 	COLLATE = 4,
197 	REVERSE = 8,
198 	SCALE = 16,
199 	GENERATE_PDF = 32,
200 	GENERATE_PS = 64,
201 	PREVIEW = 128,
202 	NUMBER_UP = 256,
203 }
204 alias EvFileExporterCapabilities FileExporterCapabilities;
205 
206 public enum EvFileExporterFormat
207 {
208 	UNKNOWN = 0,
209 	PS = 1,
210 	PDF = 2,
211 }
212 alias EvFileExporterFormat FileExporterFormat;
213 
214 public enum EvFindOptions
215 {
216 	DEFAULT = 0,
217 	CASE_SENSITIVE = 1,
218 	WHOLE_WORDS_ONLY = 2,
219 }
220 alias EvFindOptions FindOptions;
221 
222 public enum EvFormFieldButtonType
223 {
224 	PUSH = 0,
225 	CHECK = 1,
226 	RADIO = 2,
227 }
228 alias EvFormFieldButtonType FormFieldButtonType;
229 
230 public enum EvFormFieldChoiceType
231 {
232 	COMBO = 0,
233 	LIST = 1,
234 }
235 alias EvFormFieldChoiceType FormFieldChoiceType;
236 
237 public enum EvFormFieldTextType
238 {
239 	NORMAL = 0,
240 	MULTILINE = 1,
241 	FILE_SELECT = 2,
242 }
243 alias EvFormFieldTextType FormFieldTextType;
244 
245 public enum EvLinkActionType
246 {
247 	GOTO_DEST = 0,
248 	GOTO_REMOTE = 1,
249 	EXTERNAL_URI = 2,
250 	LAUNCH = 3,
251 	NAMED = 4,
252 	LAYERS_STATE = 5,
253 }
254 alias EvLinkActionType LinkActionType;
255 
256 public enum EvLinkDestType
257 {
258 	PAGE = 0,
259 	XYZ = 1,
260 	FIT = 2,
261 	FITH = 3,
262 	FITV = 4,
263 	FITR = 5,
264 	NAMED = 6,
265 	PAGE_LABEL = 7,
266 	UNKNOWN = 8,
267 }
268 alias EvLinkDestType LinkDestType;
269 
270 public enum EvSelectionStyle
271 {
272 	GLYPH = 0,
273 	WORD = 1,
274 	LINE = 2,
275 }
276 alias EvSelectionStyle SelectionStyle;
277 
278 public enum EvTransitionEffectAlignment
279 {
280 	HORIZONTAL = 0,
281 	VERTICAL = 1,
282 }
283 alias EvTransitionEffectAlignment TransitionEffectAlignment;
284 
285 public enum EvTransitionEffectDirection
286 {
287 	INWARD = 0,
288 	OUTWARD = 1,
289 }
290 alias EvTransitionEffectDirection TransitionEffectDirection;
291 
292 public enum EvTransitionEffectType
293 {
294 	REPLACE = 0,
295 	SPLIT = 1,
296 	BLINDS = 2,
297 	BOX = 3,
298 	WIPE = 4,
299 	DISSOLVE = 5,
300 	GLITTER = 6,
301 	FLY = 7,
302 	PUSH = 8,
303 	COVER = 9,
304 	UNCOVER = 10,
305 	FADE = 11,
306 }
307 alias EvTransitionEffectType TransitionEffectType;
308 
309 struct EvAnnotation;
310 
311 struct EvAnnotationAttachment;
312 
313 struct EvAnnotationAttachmentClass;
314 
315 struct EvAnnotationClass;
316 
317 struct EvAnnotationMarkup;
318 
319 struct EvAnnotationMarkupInterface;
320 
321 struct EvAnnotationText;
322 
323 struct EvAnnotationTextClass;
324 
325 struct EvAnnotationTextMarkup;
326 
327 struct EvAnnotationTextMarkupClass;
328 
329 struct EvAsyncRenderer;
330 
331 struct EvAsyncRendererInterface
332 {
333 	GTypeInterface baseIface;
334 	/** */
335 	extern(C) void function(EvAsyncRenderer* renderer, GdkPixbuf* pixbuf) renderFinished;
336 	/** */
337 	extern(C) void function(EvAsyncRenderer* renderer, int page, double scale, int rotation) renderPixbuf;
338 }
339 
340 struct EvAttachment
341 {
342 	GObject baseInstance;
343 }
344 
345 struct EvAttachmentClass
346 {
347 	GObjectClass baseClass;
348 }
349 
350 struct EvDocument
351 {
352 	GObject base;
353 	EvDocumentPrivate* priv;
354 }
355 
356 struct EvDocumentAnnotations;
357 
358 struct EvDocumentAnnotationsInterface
359 {
360 	GTypeInterface baseIface;
361 	/** */
362 	extern(C) EvMappingList* function(EvDocumentAnnotations* documentAnnots, EvPage* page) getAnnotations;
363 	/** */
364 	extern(C) int function(EvDocumentAnnotations* documentAnnots) documentIsModified;
365 	/** */
366 	extern(C) void function(EvDocumentAnnotations* documentAnnots, EvAnnotation* annot, EvRectangle* rect) addAnnotation;
367 	/** */
368 	extern(C) void function(EvDocumentAnnotations* documentAnnots, EvAnnotation* annot, EvAnnotationsSaveMask mask) saveAnnotation;
369 	/** */
370 	extern(C) void function(EvDocumentAnnotations* documentAnnots, EvAnnotation* annot) removeAnnotation;
371 	/** */
372 	extern(C) EvAnnotationsOverMarkup function(EvDocumentAnnotations* documentAnnots, EvAnnotation* annot, double x, double y) overMarkup;
373 }
374 
375 struct EvDocumentAttachments;
376 
377 struct EvDocumentAttachmentsInterface
378 {
379 	GTypeInterface baseIface;
380 	/** */
381 	extern(C) int function(EvDocumentAttachments* documentAttachments) hasAttachments;
382 	/**
383 	 *
384 	 * Params:
385 	 *     documentAttachments = an #EvDocumentAttachments
386 	 * Returns: a list of #EvAttachment objects
387 	 */
388 	extern(C) GList* function(EvDocumentAttachments* documentAttachments) getAttachments;
389 }
390 
391 struct EvDocumentBackendInfo
392 {
393 	const(char)* name;
394 	const(char)* version_;
395 }
396 
397 struct EvDocumentClass
398 {
399 	GObjectClass baseClass;
400 	/**
401 	 *
402 	 * Params:
403 	 *     document = a #EvDocument
404 	 *     uri = the document's URI
405 	 * Returns: %TRUE on success, or %FALSE on failure.
406 	 *
407 	 * Throws: GException on failure.
408 	 */
409 	extern(C) int function(EvDocument* document, const(char)* uri, GError** err) load;
410 	/**
411 	 *
412 	 * Params:
413 	 *     document = a #EvDocument
414 	 *     uri = the target URI
415 	 * Returns: %TRUE on success, or %FALSE on error with @error filled in
416 	 *
417 	 * Throws: GException on failure.
418 	 */
419 	extern(C) int function(EvDocument* document, const(char)* uri, GError** err) save;
420 	/** */
421 	extern(C) int function(EvDocument* document) getNPages;
422 	/**
423 	 *
424 	 * Params:
425 	 *     document = a #EvDocument
426 	 *     index = index of page
427 	 * Returns: Newly created #EvPage for the given index.
428 	 */
429 	extern(C) EvPage* function(EvDocument* document, int index) getPage;
430 	/** */
431 	extern(C) void function(EvDocument* document, EvPage* page, double* width, double* height) getPageSize;
432 	/** */
433 	extern(C) char* function(EvDocument* document, EvPage* page) getPageLabel;
434 	/** */
435 	extern(C) cairo_surface_t* function(EvDocument* document, EvRenderContext* rc) render;
436 	/**
437 	 *
438 	 * Params:
439 	 *     document = an #EvDocument
440 	 *     rc = an #EvRenderContext
441 	 * Returns: a #GdkPixbuf
442 	 */
443 	extern(C) GdkPixbuf* function(EvDocument* document, EvRenderContext* rc) getThumbnail;
444 	/**
445 	 *
446 	 * Params:
447 	 *     document = a #EvDocument
448 	 * Returns: a #EvDocumentInfo
449 	 */
450 	extern(C) EvDocumentInfo* function(EvDocument* document) getInfo;
451 	/** */
452 	extern(C) int function(EvDocument* document, EvDocumentBackendInfo* info) getBackendInfo;
453 	/** */
454 	extern(C) int function(EvDocument* document) supportSynctex;
455 	/**
456 	 *
457 	 * Params:
458 	 *     document = a #EvDocument
459 	 *     stream = a #GInputStream
460 	 *     flags = flags from #EvDocumentLoadFlags
461 	 *     cancellable = a #GCancellable, or %NULL
462 	 * Returns: %TRUE if loading succeeded, or %FALSE on error with @error filled in
463 	 *
464 	 * Throws: GException on failure.
465 	 */
466 	extern(C) int function(EvDocument* document, GInputStream* stream, EvDocumentLoadFlags flags, GCancellable* cancellable, GError** err) loadStream;
467 	/**
468 	 *
469 	 * Params:
470 	 *     document = a #EvDocument
471 	 *     file = a #GFile
472 	 *     flags = flags from #EvDocumentLoadFlags
473 	 *     cancellable = a #GCancellable, or %NULL
474 	 * Returns: %TRUE if loading succeeded, or %FALSE on error with @error filled in
475 	 *
476 	 * Throws: GException on failure.
477 	 */
478 	extern(C) int function(EvDocument* document, GFile* file, EvDocumentLoadFlags flags, GCancellable* cancellable, GError** err) loadGfile;
479 	/**
480 	 *
481 	 * Params:
482 	 *     document = an #EvDocument
483 	 *     rc = an #EvRenderContext
484 	 * Returns: a #cairo_surface_t
485 	 */
486 	extern(C) cairo_surface_t* function(EvDocument* document, EvRenderContext* rc) getThumbnailSurface;
487 }
488 
489 struct EvDocumentFind;
490 
491 struct EvDocumentFindInterface
492 {
493 	GTypeInterface baseIface;
494 	/**
495 	 *
496 	 * Params:
497 	 *     documentFind = an #EvDocumentFind
498 	 *     page = an #EvPage
499 	 *     text = text to find
500 	 *     caseSensitive = whether to match the string case
501 	 * Returns: a list of results
502 	 */
503 	extern(C) GList* function(EvDocumentFind* documentFind, EvPage* page, const(char)* text, int caseSensitive) findText;
504 	/**
505 	 *
506 	 * Params:
507 	 *     documentFind = an #EvDocumentFind
508 	 *     page = an #EvPage
509 	 *     text = text to find
510 	 *     options = a set of #EvFindOptions
511 	 * Returns: a list of results
512 	 */
513 	extern(C) GList* function(EvDocumentFind* documentFind, EvPage* page, const(char)* text, EvFindOptions options) findTextWithOptions;
514 	/** */
515 	extern(C) EvFindOptions function(EvDocumentFind* documentFind) getSupportedOptions;
516 }
517 
518 struct EvDocumentFonts;
519 
520 struct EvDocumentFontsInterface
521 {
522 	GTypeInterface baseIface;
523 	/** */
524 	extern(C) int function(EvDocumentFonts* documentFonts, int nPages) scan;
525 	/** */
526 	extern(C) double function(EvDocumentFonts* documentFonts) getProgress;
527 	/** */
528 	extern(C) void function(EvDocumentFonts* documentFonts, GtkTreeModel* model) fillModel;
529 	/** */
530 	extern(C) const(char)* function(EvDocumentFonts* documentFonts) getFontsSummary;
531 }
532 
533 struct EvDocumentForms;
534 
535 struct EvDocumentFormsInterface
536 {
537 	GTypeInterface baseIface;
538 	/** */
539 	extern(C) EvMappingList* function(EvDocumentForms* documentForms, EvPage* page) getFormFields;
540 	/** */
541 	extern(C) int function(EvDocumentForms* documentForms) documentIsModified;
542 	/** */
543 	extern(C) char* function(EvDocumentForms* documentForms, EvFormField* field) formFieldTextGetText;
544 	/** */
545 	extern(C) void function(EvDocumentForms* documentForms, EvFormField* field, const(char)* text) formFieldTextSetText;
546 	/** */
547 	extern(C) int function(EvDocumentForms* documentForms, EvFormField* field) formFieldButtonGetState;
548 	/** */
549 	extern(C) void function(EvDocumentForms* documentForms, EvFormField* field, int state) formFieldButtonSetState;
550 	/** */
551 	extern(C) char* function(EvDocumentForms* documentForms, EvFormField* field, int index) formFieldChoiceGetItem;
552 	/** */
553 	extern(C) int function(EvDocumentForms* documentForms, EvFormField* field) formFieldChoiceGetNItems;
554 	/** */
555 	extern(C) int function(EvDocumentForms* documentForms, EvFormField* field, int index) formFieldChoiceIsItemSelected;
556 	/** */
557 	extern(C) void function(EvDocumentForms* documentForms, EvFormField* field, int index) formFieldChoiceSelectItem;
558 	/** */
559 	extern(C) void function(EvDocumentForms* documentForms, EvFormField* field, int index) formFieldChoiceToggleItem;
560 	/** */
561 	extern(C) void function(EvDocumentForms* documentForms, EvFormField* field) formFieldChoiceUnselectAll;
562 	/** */
563 	extern(C) void function(EvDocumentForms* documentForms, EvFormField* field, const(char)* text) formFieldChoiceSetText;
564 	/** */
565 	extern(C) char* function(EvDocumentForms* documentForms, EvFormField* field) formFieldChoiceGetText;
566 }
567 
568 struct EvDocumentImages;
569 
570 struct EvDocumentImagesInterface
571 {
572 	GTypeInterface baseIface;
573 	/** */
574 	extern(C) EvMappingList* function(EvDocumentImages* documentImages, EvPage* page) getImageMapping;
575 	/**
576 	 *
577 	 * Params:
578 	 *     documentImages = an #EvDocumentImages
579 	 *     image = an #EvImage
580 	 * Returns: a #GdkPixbuf
581 	 */
582 	extern(C) GdkPixbuf* function(EvDocumentImages* documentImages, EvImage* image) getImage;
583 }
584 
585 struct EvDocumentInfo
586 {
587 	char* title;
588 	char* format;
589 	char* author;
590 	char* subject;
591 	char* keywords;
592 	char* creator;
593 	char* producer;
594 	char* linearized;
595 	char* security;
596 	GTime creationDate;
597 	GTime modifiedDate;
598 	EvDocumentLayout layout;
599 	EvDocumentMode mode;
600 	uint uiHints;
601 	uint permissions;
602 	int nPages;
603 	double paperHeight;
604 	double paperWidth;
605 	EvDocumentLicense* license;
606 	uint fieldsMask;
607 }
608 
609 struct EvDocumentLayers;
610 
611 struct EvDocumentLayersInterface
612 {
613 	GTypeInterface baseIface;
614 	/** */
615 	extern(C) int function(EvDocumentLayers* documentLayers) hasLayers;
616 	/**
617 	 *
618 	 * Params:
619 	 *     documentLayers = an #EvDocumentLayers
620 	 * Returns: a #GtkTreeModel
621 	 */
622 	extern(C) GtkTreeModel* function(EvDocumentLayers* documentLayers) getLayers;
623 	/** */
624 	extern(C) void function(EvDocumentLayers* documentLayers, EvLayer* layer) showLayer;
625 	/** */
626 	extern(C) void function(EvDocumentLayers* documentLayers, EvLayer* layer) hideLayer;
627 	/** */
628 	extern(C) int function(EvDocumentLayers* documentLayers, EvLayer* layer) layerIsVisible;
629 }
630 
631 struct EvDocumentLicense
632 {
633 	char* text;
634 	char* uri;
635 	char* webStatement;
636 }
637 
638 struct EvDocumentLinks;
639 
640 struct EvDocumentLinksInterface
641 {
642 	GTypeInterface baseIface;
643 	/** */
644 	extern(C) int function(EvDocumentLinks* documentLinks) hasDocumentLinks;
645 	/**
646 	 *
647 	 * Params:
648 	 *     documentLinks = an #EvDocumentLinks
649 	 * Returns: a #GtkTreeModel
650 	 */
651 	extern(C) GtkTreeModel* function(EvDocumentLinks* documentLinks) getLinksModel;
652 	/** */
653 	extern(C) EvMappingList* function(EvDocumentLinks* documentLinks, EvPage* page) getLinks;
654 	/**
655 	 *
656 	 * Params:
657 	 *     documentLinks = an #EvDocumentLinks
658 	 *     linkName = the link name
659 	 * Returns: an #EvLinkDest
660 	 */
661 	extern(C) EvLinkDest* function(EvDocumentLinks* documentLinks, const(char)* linkName) findLinkDest;
662 	/** */
663 	extern(C) int function(EvDocumentLinks* documentLinks, const(char)* linkName) findLinkPage;
664 }
665 
666 struct EvDocumentMedia;
667 
668 struct EvDocumentMediaInterface
669 {
670 	GTypeInterface baseIface;
671 	/** */
672 	extern(C) EvMappingList* function(EvDocumentMedia* documentMedia, EvPage* page) getMediaMapping;
673 }
674 
675 struct EvDocumentPrint;
676 
677 struct EvDocumentPrintInterface
678 {
679 	GTypeInterface baseIface;
680 	/** */
681 	extern(C) void function(EvDocumentPrint* documentPrint, EvPage* page, cairo_t* cr) printPage;
682 }
683 
684 struct EvDocumentPrivate;
685 
686 struct EvDocumentSecurity;
687 
688 struct EvDocumentSecurityInterface
689 {
690 	GTypeInterface baseIface;
691 	/** */
692 	extern(C) int function(EvDocumentSecurity* documentSecurity) hasDocumentSecurity;
693 	/** */
694 	extern(C) void function(EvDocumentSecurity* documentSecurity, const(char)* password) setPassword;
695 }
696 
697 struct EvDocumentText;
698 
699 struct EvDocumentTextInterface
700 {
701 	GTypeInterface baseIface;
702 	/** */
703 	extern(C) cairo_region_t* function(EvDocumentText* documentText, EvPage* page) getTextMapping;
704 	/** */
705 	extern(C) char* function(EvDocumentText* documentText, EvPage* page) getText;
706 	/** */
707 	extern(C) int function(EvDocumentText* documentText, EvPage* page, EvRectangle** areas, uint* nAreas) getTextLayout;
708 	/**
709 	 *
710 	 * Params:
711 	 *     documentText = a #EvDocumentText
712 	 *     page = a #EvPage
713 	 * Returns: a newly created #PangoAttrList
714 	 */
715 	extern(C) PangoAttrList* function(EvDocumentText* documentText, EvPage* page) getTextAttrs;
716 }
717 
718 struct EvDocumentTransition;
719 
720 struct EvDocumentTransitionInterface
721 {
722 	GTypeInterface baseIface;
723 	/** */
724 	extern(C) double function(EvDocumentTransition* documentTrans, int page) getPageDuration;
725 	/**
726 	 *
727 	 * Params:
728 	 *     documentTrans = an #EvDocumentTransition
729 	 *     page = a page index
730 	 * Returns: an #EvTransitionEffect
731 	 */
732 	extern(C) EvTransitionEffect* function(EvDocumentTransition* documentTrans, int page) getEffect;
733 }
734 
735 struct EvFileExporter;
736 
737 struct EvFileExporterContext
738 {
739 	EvFileExporterFormat format;
740 	const(char)* filename;
741 	int firstPage;
742 	int lastPage;
743 	double paperWidth;
744 	double paperHeight;
745 	bool duplex;
746 	int pagesPerSheet;
747 }
748 
749 struct EvFileExporterInterface
750 {
751 	GTypeInterface baseIface;
752 	/** */
753 	extern(C) void function(EvFileExporter* exporter, EvFileExporterContext* fc) begin;
754 	/** */
755 	extern(C) void function(EvFileExporter* exporter) beginPage;
756 	/** */
757 	extern(C) void function(EvFileExporter* exporter, EvRenderContext* rc) doPage;
758 	/** */
759 	extern(C) void function(EvFileExporter* exporter) endPage;
760 	/** */
761 	extern(C) void function(EvFileExporter* exporter) end;
762 	/** */
763 	extern(C) EvFileExporterCapabilities function(EvFileExporter* exporter) getCapabilities;
764 }
765 
766 struct EvFormField
767 {
768 	GObject parent;
769 	int id;
770 	bool isReadOnly;
771 	double fontSize;
772 	EvLink* activationLink;
773 	EvPage* page;
774 	bool changed;
775 }
776 
777 struct EvFormFieldButton
778 {
779 	EvFormField parent;
780 	EvFormFieldButtonType type;
781 	bool state;
782 }
783 
784 struct EvFormFieldButtonClass
785 {
786 	EvFormFieldClass parentClass;
787 }
788 
789 struct EvFormFieldChoice
790 {
791 	EvFormField parent;
792 	EvFormFieldChoiceType type;
793 	import std.bitmanip: bitfields;
794 	mixin(bitfields!(
795 		bool, "multiSelect", 1,
796 		bool, "isEditable", 1,
797 		bool, "doSpellCheck", 1,
798 		bool, "commitOnSelChange", 1,
799 		uint, "", 28
800 	));
801 	GList* selectedItems;
802 	char* text;
803 }
804 
805 struct EvFormFieldChoiceClass
806 {
807 	EvFormFieldClass parentClass;
808 }
809 
810 struct EvFormFieldClass
811 {
812 	GObjectClass parentClass;
813 }
814 
815 struct EvFormFieldSignature
816 {
817 	EvFormField parent;
818 }
819 
820 struct EvFormFieldSignatureClass
821 {
822 	EvFormFieldClass parentClass;
823 }
824 
825 struct EvFormFieldText
826 {
827 	EvFormField parent;
828 	EvFormFieldTextType type;
829 	import std.bitmanip: bitfields;
830 	mixin(bitfields!(
831 		bool, "doSpellCheck", 1,
832 		bool, "doScroll", 1,
833 		bool, "comb", 1,
834 		bool, "isRichText", 1,
835 		uint, "", 28
836 	));
837 	bool isPassword;
838 	int maxLen;
839 	char* text;
840 }
841 
842 struct EvFormFieldTextClass
843 {
844 	EvFormFieldClass parentClass;
845 }
846 
847 struct EvImage
848 {
849 	GObject baseInstance;
850 	EvImagePrivate* priv;
851 }
852 
853 struct EvImageClass
854 {
855 	GObjectClass baseClass;
856 }
857 
858 struct EvImagePrivate;
859 
860 struct EvLayer
861 {
862 	GObject baseInstance;
863 	EvLayerPrivate* priv;
864 }
865 
866 struct EvLayerClass
867 {
868 	GObjectClass baseClass;
869 }
870 
871 struct EvLayerPrivate;
872 
873 struct EvLink;
874 
875 struct EvLinkAction;
876 
877 struct EvLinkActionClass;
878 
879 struct EvLinkActionPrivate;
880 
881 struct EvLinkClass;
882 
883 struct EvLinkDest;
884 
885 struct EvLinkDestClass;
886 
887 struct EvLinkDestPrivate;
888 
889 struct EvLinkPrivate;
890 
891 struct EvMapping
892 {
893 	EvRectangle area;
894 	void* data;
895 }
896 
897 struct EvMappingList;
898 
899 struct EvMedia
900 {
901 	GObject baseInstance;
902 	EvMediaPrivate* priv;
903 }
904 
905 struct EvMediaClass
906 {
907 	GObjectClass baseClass;
908 }
909 
910 struct EvMediaPrivate;
911 
912 struct EvPage
913 {
914 	GObject baseInstance;
915 	int index;
916 	EvBackendPage backendPage;
917 	EvBackendPageDestroyFunc backendDestroyFunc;
918 }
919 
920 struct EvPageClass
921 {
922 	GObjectClass baseClass;
923 }
924 
925 struct EvPoint
926 {
927 	double x;
928 	double y;
929 }
930 
931 struct EvRectangle
932 {
933 	double x1;
934 	double y1;
935 	double x2;
936 	double y2;
937 }
938 
939 struct EvRenderContext
940 {
941 	GObject parent;
942 	EvPage* page;
943 	int rotation;
944 	double scale;
945 	int targetWidth;
946 	int targetHeight;
947 }
948 
949 struct EvRenderContextClass
950 {
951 	GObjectClass klass;
952 }
953 
954 struct EvSelection;
955 
956 struct EvSelectionInterface
957 {
958 	GTypeInterface baseIface;
959 	/** */
960 	extern(C) void function(EvSelection* selection, EvRenderContext* rc, cairo_surface_t** surface, EvRectangle* points, EvRectangle* oldPoints, EvSelectionStyle style, GdkColor* text, GdkColor* base) renderSelection;
961 	/** */
962 	extern(C) char* function(EvSelection* selection, EvPage* page, EvSelectionStyle style, EvRectangle* points) getSelectedText;
963 	/** */
964 	extern(C) cairo_region_t* function(EvSelection* selection, EvRenderContext* rc, EvSelectionStyle style, EvRectangle* points) getSelectionRegion;
965 }
966 
967 struct EvSourceLink
968 {
969 	char* filename;
970 	int line;
971 	int col;
972 }
973 
974 struct EvTransitionEffect
975 {
976 	GObject parentInstance;
977 }
978 
979 struct EvTransitionEffectClass
980 {
981 	GObjectClass parentClass;
982 }
983 
984 struct EvTypeInfo
985 {
986 	const(char)* desc;
987 	char** mimeTypes;
988 }
989 
990 /**
991  * The major version number of the EV library
992  * (e.g. in version 3.1.4 this is 3).
993  */
994 enum MAJOR_VERSION = 3;
995 alias EV_MAJOR_VERSION = MAJOR_VERSION;
996 
997 /**
998  * The micro version number of the EV library
999  * (e.g. in version 3.1.4 this is 4).
1000  */
1001 enum MICRO_VERSION = 0;
1002 alias EV_MICRO_VERSION = MICRO_VERSION;
1003 
1004 /**
1005  * The minor version number of the EV library
1006  * (e.g. in version 3.1.4 this is 1).
1007  */
1008 enum MINOR_VERSION = 38;
1009 alias EV_MINOR_VERSION = MINOR_VERSION;