File: docObject.h

package info (click to toggle)
ted 2.11-1
  • links: PTS
  • area: main
  • in suites: woody
  • size: 11,064 kB
  • ctags: 13,935
  • sloc: ansic: 120,446; makefile: 7,469; sh: 253
file content (129 lines) | stat: -rw-r--r-- 3,568 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
/************************************************************************/
/*									*/
/*  Text Buffer: Obects inserted in the text.				*/
/*  Objects are independent entities that are embedded in the text.	*/
/*									*/
/************************************************************************/

#   ifndef	DOC_OBJECT_H
#   define	DOC_OBJECT_H

#   include	<utilMemoryBuffer.h>

struct BufferDocument;
struct BufferItem;
struct TextParticule;

/************************************************************************/
/*									*/
/*  Kinds of object.							*/
/*									*/
/************************************************************************/

typedef enum ObjectKind
    {
    DOCokUNKNOWN= 0,

    DOCokPICTWMETAFILE,
    DOCokPICTPNGBLIP,
    DOCokPICTJPEGBLIP,
    DOCokPICTEMFBLIP,
    DOCokMACPICT,
    DOCokOLEOBJECT,

    DOCokINCLUDEPICTURE,
    DOCokEPSF,
	    /************************************************************/
	    /*  To include pictures. In Particular EPS pictures. As	*/
	    /*  this is different from what 'Word' does, they are not	*/
	    /*  saved in the RTF file.					*/
	    /************************************************************/

    DOCok__COUNT
    } ObjectKind;

typedef struct InsertedObject
    {
    int			ioKind;		/*  Kind of object.		*/
    int			ioResultKind;	/*  Kind of object.		*/
    int			ioTwipsWide;	/*  Width of object.		*/
    int			ioTwipsHigh;	/*  Height of object.		*/
    int			ioScaleX;	/*  In %.			*/
    int			ioScaleY;	/*  In %.			*/
    int			ioPixelsWide;	/*  Width of object on screen	*/
    int			ioPixelsHigh;	/*  Height of object on screen	*/
    int			io_xWinExt;	/*  Of metafile picture.	*/
    int			io_yWinExt;	/*  Of metafile picture.	*/
    int			ioUnitsPerInch;	/*  Only use if > 0		*/

    int			ioTopCropTwips;
    int			ioBottomCropTwips;
    int			ioLeftCropTwips;
    int			ioRightCropTwips;

    int			ioDragWide;	/*  PixelsWide during resize.	*/
    int			ioDragHigh;	/*  PixelsHigh during resize.	*/

    int			ioMapMode;
    int			ioResultMapMode;
					/*  Used for metafile pictures	*/
					/*  or objects with a result	*/
					/*  that is a metafile picture.	*/
    MemoryBuffer	ioObjectData;
    MemoryBuffer	ioResultData;

    unsigned char *	ioObjectName;
    unsigned char *	ioObjectClass;
    int			ioBliptag;

#   ifdef USE_MOTIF
    unsigned long	ioPixmap;
#   endif

#   ifdef USE_GTK
    void *		ioPixmap;
#   endif

    void *		ioPrivate;
    } InsertedObject;

typedef void (*DOC_CLOSE_OBJECT)(	struct BufferDocument *	bd,
					struct BufferItem *	bi,
					struct TextParticule *	tp,
					void *			voidadd );

/************************************************************************/
/*									*/
/*  Routine declarations.						*/
/*									*/
/************************************************************************/

extern int docGetBitmapForObject(	InsertedObject *	io );

extern int docObjectSetData(	InsertedObject *	io,
				const unsigned char *	bytes,
				int			size );

extern int docSetResultData(	InsertedObject *	io,
				const unsigned char *	bytes,
				int			size );

extern int docSaveObjectTag(	InsertedObject *	io,
				const char *		tag,
				int			arg );

extern int docSaveResultTag(	InsertedObject *	io,
				const char *		tag,
				int			arg );

extern int docSetObjectName(	InsertedObject *	io,
				const unsigned char *	name,
				int			len );

extern int docSetObjectClass(	InsertedObject *	io,
				const unsigned char *	name,
				int			len );

extern void docCleanObject(	InsertedObject *	io );

#   endif	/*  DOC_OBJECT_H	*/