Skip to content
GitLab
Projects
Groups
Snippets
/
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
Menu
Open sidebar
FreeType
FreeType
Commits
74abee8e
Commit
74abee8e
authored
Jun 27, 2000
by
David Turner
Browse files
various cleanups to reduce compiler warnings
parent
7ed5a057
Changes
3
Hide whitespace changes
Inline
Side-by-side
src/base/ftobjs.c
View file @
74abee8e
...
...
@@ -440,8 +440,8 @@
}
BASE_FUNC
(
FT_Error
)
FT_GlyphLoader_Create_Extra
(
FT_GlyphLoader
*
loader
)
BASE_FUNC
(
FT_Error
)
FT_GlyphLoader_Create_Extra
(
FT_GlyphLoader
*
loader
)
{
FT_Error
error
;
FT_Memory
memory
=
loader
->
memory
;
...
...
@@ -881,6 +881,8 @@
}
static
FT_Renderer
ft_lookup_glyph_renderer
(
FT_GlyphSlot
slot
);
/*************************************************************************/
/* */
/* <Function> */
...
...
@@ -926,7 +928,7 @@
if
(
!
face
||
!
face
->
size
||
!
face
->
glyph
)
return
FT_Err_Invalid_Face_Handle
;
if
(
glyph_index
>=
face
->
num_glyphs
)
if
(
glyph_index
>=
(
FT_UInt
)
face
->
num_glyphs
)
return
FT_Err_Invalid_Argument
;
slot
=
face
->
glyph
;
...
...
@@ -1388,7 +1390,6 @@
FT_Int
num_params
=
0
;
FT_Parameter
*
params
=
0
;
driver
=
FT_DRIVER
(
cur
[
0
]
);
if
(
args
->
flags
&
ft_open_params
)
...
...
@@ -2213,16 +2214,20 @@
/*************************************************************************/
/* lookup a renderer by glyph format in the library's list */
static
FT_Renderer
ft_l
ookup_
r
enderer
(
FT_Library
library
,
FT_Glyph_Format
format
,
FT_ListNode
*
node
)
BASE_FUNC
(
FT_Renderer
)
FT_L
ookup_
R
enderer
(
FT_Library
library
,
FT_Glyph_Format
format
,
FT_ListNode
*
node
)
{
FT_ListNode
cur
=
library
->
renderers
.
head
;
FT_Renderer
result
=
0
;
if
(
node
)
if
(
node
)
{
if
(
*
node
)
cur
=
(
*
node
)
->
next
;
*
node
=
0
;
}
while
(
cur
)
{
...
...
@@ -2237,13 +2242,14 @@
result
=
renderer
;
break
;
}
cur
=
cur
->
next
;
}
return
result
;
}
static
FT_Renderer
ft_lookup_glyph_renderer
(
FT_GlyphSlot
slot
)
static
FT_Renderer
ft_lookup_glyph_renderer
(
FT_GlyphSlot
slot
)
{
FT_Face
face
=
slot
->
face
;
FT_Library
library
=
FT_FACE_LIBRARY
(
face
);
...
...
@@ -2261,7 +2267,7 @@
{
FT_Renderer
renderer
;
renderer
=
ft_l
ookup_
r
enderer
(
library
,
ft_glyph_format_outline
,
0
);
renderer
=
FT_L
ookup_
R
enderer
(
library
,
ft_glyph_format_outline
,
0
);
library
->
cur_renderer
=
renderer
;
}
...
...
@@ -2364,7 +2370,7 @@
FT_EXPORT_FUNC
(
FT_Renderer
)
FT_Get_Renderer
(
FT_Library
library
,
FT_Glyph_Format
format
)
{
return
ft_l
ookup_
r
enderer
(
library
,
format
,
0
);
return
FT_L
ookup_
R
enderer
(
library
,
format
,
0
);
}
...
...
@@ -2409,7 +2415,7 @@
error
=
FT_Err_Invalid_Argument
;
goto
Exit
;
}
FT_List_Up
(
&
library
->
renderers
,
node
);
if
(
renderer
->
glyph_format
==
ft_glyph_format_outline
)
...
...
@@ -2433,75 +2439,108 @@
}
/*************************************************************************/
/* */
/* <Function> */
/* FT_Render_Glyph */
/* */
/* <Description> */
/* Converts a given glyph image to a bitmap. It does so by */
/* inspecting the glyph image format, find the relevant renderer, and */
/* invoke it. */
/* */
/* <Input> */
/* slot :: A handle to the glyph slot containing the image to */
/* convert. */
/* */
/* render_mode :: A set of bit flags indicating which kind of bitmap */
/* to render. For now, only */
/* `ft_render_mode_anti_alias' is supported by the */
/* available renderers, but others could appear later */
/* (e.g. optimized for TV or LCD). */
/* */
/* <Return> */
/* FreeType error code. 0 means success. */
/* */
/* <Note> */
/* In case of success, the renderer will be used to convert glyph */
/* images in the renderer's known format into bitmaps. */
/* */
/* This doesn't change the current renderer for other formats. */
/* */
/* The slot's native image should be considered lost after the */
/* conversion. */
/* */
FT_EXPORT_FUNC
(
FT_Error
)
FT_Render_Glyph
(
FT_GlyphSlot
slot
,
FT_UInt
render_mode
)
<<<<<<<
ftobjs
.
c
/*************************************************************************
*
* <Function>
* FT_Render_Glyph
*
* <Description>
* Converts a given glyph image to a bitmap. It does so by inspecting
* the glyph image format, find the relevant renderer, and invoke it
*
* <Input>
* slot :: handle to the glyph slot containing the image to
* convert
*
* render_mode :: a set of bit flags indicating which kind of bitmap
* to render. For now, only 'ft_render_mode_anti_alias'
* is supported by the available renderers, but others
* could appear later (e.g. LCD or TV optimised)
*
* <Return>
* Error code. 0 means success.
*
* <Note>
* in case of success, the renderer will be used to convert glyph
* images in the renderer's known format into bitmaps.
*
* This doesn't change the current renderer for other formats..
*
* The slot's native image should be considered lost after the
* conversion..
*
*************************************************************************/
LOCAL_FUNC
FT_Error
FT_Render_Glyph_Internal
(
FT_Library
library
,
FT_GlyphSlot
slot
,
FT_UInt
render_mode
)
{
FT_Error
error
=
FT_Err_Ok
;
FT_Renderer
renderer
;
if
(
slot
)
/* if it's already a bitmap, no need to do anything */
switch
(
slot
->
format
)
{
FT_Face
face
=
slot
->
face
;
FT_Library
library
=
FT_FACE_LIBRARY
(
face
);
/* if it is already a bitmap, no need to do anything */
switch
(
slot
->
format
)
{
case
ft_glyph_format_bitmap
:
/* already a bitmap, don't do anything */
case
ft_glyph_format_bitmap
:
/* already a bitmap, don't do anything */
break
;
default:
{
FT_ListNode
node
=
0
;
FT_Bool
update
=
0
;
/* small shortcut for the very common case */
if
(
slot
->
format
==
ft_glyph_format_outline
)
if
(
slot
->
format
==
ft_glyph_format_outline
)
{
renderer
=
library
->
cur_renderer
;
node
=
library
->
renderers
.
head
;
}
else
renderer
=
ft_l
ookup_
r
enderer
(
library
,
slot
->
format
,
0
);
renderer
=
FT_L
ookup_
R
enderer
(
library
,
slot
->
format
,
&
node
);
error
=
FT_Err_Unimplemented_Feature
;
if
(
renderer
)
error
=
renderer
->
render
(
renderer
,
slot
,
render_mode
);
while
(
renderer
)
{
error
=
renderer
->
render
(
renderer
,
slot
,
render_mode
,
0
);
if
(
!
error
||
error
!=
FT_Err_Cannot_Render_Glyph
)
break
;
/* FT_Err_Cannot_Render_Glyph is returned when the render mode */
/* is unsupported by the current renderer for this glyph image */
/* format.. */
/* now, look for another renderer that supports the same */
/* format.. */
renderer
=
FT_Lookup_Renderer
(
library
,
slot
->
format
,
&
node
);
update
=
1
;
}
/* if we changed the current renderer for the glyph image format */
/* we need to select it as the next current one.. */
if
(
!
error
&&
update
&&
renderer
)
FT_Set_Renderer
(
library
,
renderer
,
0
,
0
);
}
}
else
error
=
FT_Err_Invalid_Argument
;
return
error
;
}
FT_EXPORT_FUNC
(
FT_Error
)
FT_Render_Glyph
(
FT_GlyphSlot
slot
,
FT_UInt
render_mode
)
{
FT_Library
library
;
if
(
!
slot
)
return
FT_Err_Invalid_Argument
;
library
=
FT_FACE_LIBRARY
(
slot
->
face
);
return
FT_Render_Glyph_Internal
(
library
,
slot
,
render_mode
);
}
/*************************************************************************/
/*************************************************************************/
...
...
@@ -2904,7 +2943,7 @@
FT_EXPORT_FUNC
(
FT_Error
)
FT_Done_Library
(
FT_Library
library
)
{
FT_Memory
memory
;
FT_Int
n
;
FT_
U
Int
n
;
if
(
!
library
)
...
...
src/base/ftoutln.c
View file @
74abee8e
...
...
@@ -604,36 +604,34 @@
FT_Outline
*
outline
,
FT_Raster_Params
*
params
)
{
FT_Error
error
;
FT_Renderer
renderer
;
FT_Error
error
;
FT_Bool
update
=
0
;
FT_Renderer
renderer
=
library
->
cur_renderer
;
FT_ListNode
node
=
library
->
renderers
.
head
;
if
(
!
library
)
{
error
=
FT_Err_Invalid_Library_Handle
;
goto
Exit
;
}
if
(
!
outline
||
!
params
)
{
error
=
FT_Err_Invalid_Argument
;
goto
Exit
;
}
/* retrieve the current outline renderer */
renderer
=
library
->
cur_renderer
;
if
(
!
renderer
)
params
->
source
=
(
void
*
)
outline
;
error
=
FT_Err_Cannot_Render_Glyph
;
while
(
renderer
)
{
/* XXXX: should use another error code */
error
=
FT_Err_Invalid_Argument
;
goto
Exit
;
error
=
renderer
->
raster_render
(
renderer
->
raster
,
params
);
if
(
!
error
||
error
!=
FT_Err_Cannot_Render_Glyph
)
break
;
/* FT_Err_Cannot_Render_Glyph is returned when the render mode */
/* is unsupported by the current renderer for this glyph image */
/* format.. */
/* now, look for another renderer that supports the same */
/* format.. */
renderer
=
FT_Lookup_Renderer
(
library
,
ft_glyph_format_outline
,
&
node
);
update
=
1
;
}
params
->
source
=
(
void
*
)
outline
;
error
=
renderer
->
raster_render
(
renderer
->
raster
,
params
);
Exit:
/* if we changed the current renderer for the glyph image format */
/* we need to select it as the next current one.. */
if
(
!
error
&&
update
&&
renderer
)
FT_Set_Renderer
(
library
,
renderer
,
0
,
0
);
return
error
;
}
...
...
src/truetype/ttgload.c
View file @
74abee8e
...
...
@@ -853,7 +853,7 @@
FT_GlyphLoader_Add
(
gloader
);
for
(
n
=
0
;
n
<
num_subglyphs
;
n
++
)
for
(
n
=
0
;
n
<
(
FT_Int
)
num_subglyphs
;
n
++
)
{
FT_Vector
pp1
,
pp2
;
FT_Pos
x
,
y
;
...
...
@@ -915,13 +915,12 @@
if
(
!
(
subglyph
->
flags
&
ARGS_ARE_XY_VALUES
)
)
{
FT_Int
k
=
subglyph
->
arg1
;
FT_
U
Int
k
=
subglyph
->
arg1
;
FT_UInt
l
=
subglyph
->
arg2
;
FT_Vector
*
p1
;
FT_Vector
*
p2
;
if
(
start_point
+
k
>=
num_base_points
||
if
(
start_point
+
k
>=
(
FT_UInt
)
num_base_points
||
l
>=
(
FT_UInt
)
num_new_points
)
{
error
=
TT_Err_Invalid_Composite
;
...
...
Write
Preview
Supports
Markdown
0%
Try again
or
attach a new file
.
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment