Subversion Repositories planix.SVN

Rev

Rev 2 | Details | Compare with Previous | Last modification | View Log | RSS feed

Rev Author Line No. Line
2 - 1
/*
2
 * imgtrans.c
3
 * Copyright (C) 2000-2002 A.J. van Os; Released under GPL
4
 *
5
 * Description:
6
 * Generic functions to translate Word images
7
 */
8
 
9
#include <stdio.h>
10
#include "antiword.h"
11
 
12
 
13
/*
14
 * bTranslateImage - translate the image
15
 *
16
 * This function reads the type of the given image and and gets it translated.
17
 *
18
 * return TRUE when sucessful, otherwise FALSE
19
 */
20
BOOL
21
bTranslateImage(diagram_type *pDiag, FILE *pFile, BOOL bMinimalInformation,
22
	ULONG ulFileOffsetImage, const imagedata_type *pImg)
23
{
24
	options_type	tOptions;
25
 
26
	DBG_MSG("bTranslateImage");
27
 
28
	fail(pDiag == NULL);
29
	fail(pFile == NULL);
30
	fail(ulFileOffsetImage == FC_INVALID);
31
	fail(pImg == NULL);
32
	fail(pImg->iHorSizeScaled <= 0);
33
	fail(pImg->iVerSizeScaled <= 0);
34
 
35
	vGetOptions(&tOptions);
36
	fail(tOptions.eImageLevel == level_no_images);
37
 
38
	if (bMinimalInformation) {
39
		return bAddDummyImage(pDiag, pImg);
40
	}
41
 
42
	switch (pImg->eImageType) {
43
	case imagetype_is_dib:
44
		return bTranslateDIB(pDiag, pFile,
45
				ulFileOffsetImage + pImg->tPosition,
46
				pImg);
47
	case imagetype_is_jpeg:
48
		return bTranslateJPEG(pDiag, pFile,
49
				ulFileOffsetImage + pImg->tPosition,
50
				pImg->tLength - pImg->tPosition,
51
				pImg);
52
	case imagetype_is_png:
53
		if (tOptions.eImageLevel == level_ps_2) {
54
			return bAddDummyImage(pDiag, pImg);
55
		}
56
		return bTranslatePNG(pDiag, pFile,
57
				ulFileOffsetImage + pImg->tPosition,
58
				pImg->tLength - pImg->tPosition,
59
				pImg);
60
	case imagetype_is_emf:
61
	case imagetype_is_wmf:
62
	case imagetype_is_pict:
63
	case imagetype_is_external:
64
		/* FIXME */
65
		return bAddDummyImage(pDiag, pImg);
66
	case imagetype_is_unknown:
67
	default:
68
		DBG_DEC(pImg->eImageType);
69
		return bAddDummyImage(pDiag, pImg);
70
	}
71
} /* end of bTranslateImage */