3 * Copyright (C) 2000-2002 A.J. van Os; Released under GPL
6 * Generic functions to translate Word images
14 * bTranslateImage - translate the image
16 * This function reads the type of the given image and and gets it translated.
18 * return TRUE when sucessful, otherwise FALSE
21 bTranslateImage(diagram_type
*pDiag
, FILE *pFile
, BOOL bMinimalInformation
,
22 ULONG ulFileOffsetImage
, const imagedata_type
*pImg
)
24 options_type tOptions
;
26 DBG_MSG("bTranslateImage");
30 fail(ulFileOffsetImage
== FC_INVALID
);
32 fail(pImg
->iHorSizeScaled
<= 0);
33 fail(pImg
->iVerSizeScaled
<= 0);
35 vGetOptions(&tOptions
);
36 fail(tOptions
.eImageLevel
== level_no_images
);
38 if (bMinimalInformation
) {
39 return bAddDummyImage(pDiag
, pImg
);
42 switch (pImg
->eImageType
) {
43 case imagetype_is_dib
:
44 return bTranslateDIB(pDiag
, pFile
,
45 ulFileOffsetImage
+ pImg
->tPosition
,
47 case imagetype_is_jpeg
:
48 return bTranslateJPEG(pDiag
, pFile
,
49 ulFileOffsetImage
+ pImg
->tPosition
,
50 pImg
->tLength
- pImg
->tPosition
,
52 case imagetype_is_png
:
53 if (tOptions
.eImageLevel
== level_ps_2
) {
54 return bAddDummyImage(pDiag
, pImg
);
56 return bTranslatePNG(pDiag
, pFile
,
57 ulFileOffsetImage
+ pImg
->tPosition
,
58 pImg
->tLength
- pImg
->tPosition
,
60 case imagetype_is_emf
:
61 case imagetype_is_wmf
:
62 case imagetype_is_pict
:
63 case imagetype_is_external
:
65 return bAddDummyImage(pDiag
, pImg
);
66 case imagetype_is_unknown
:
68 DBG_DEC(pImg
->eImageType
);
69 return bAddDummyImage(pDiag
, pImg
);
71 } /* end of bTranslateImage */