< prev index next >
src/java.desktop/share/native/libfreetype/src/base/ftstroke.c
Print this page
*** 1,40 ****
! /***************************************************************************/
! /* */
! /* ftstroke.c */
! /* */
! /* FreeType path stroker (body). */
! /* */
! /* Copyright 2002-2018 by */
! /* David Turner, Robert Wilhelm, and Werner Lemberg. */
! /* */
! /* This file is part of the FreeType project, and may only be used, */
! /* modified, and distributed under the terms of the FreeType project */
! /* license, LICENSE.TXT. By continuing to use, modify, or distribute */
! /* this file you indicate that you have read the license and */
! /* understand and accept it fully. */
! /* */
! /***************************************************************************/
#include <ft2build.h>
#include FT_STROKER_H
#include FT_TRIGONOMETRY_H
#include FT_OUTLINE_H
#include FT_INTERNAL_MEMORY_H
#include FT_INTERNAL_DEBUG_H
#include FT_INTERNAL_OBJECTS_H
- #include "basepic.h"
-
/* declare an extern to access `ft_outline_glyph_class' globally */
! /* allocated in `ftglyph.c', and use the FT_OUTLINE_GLYPH_CLASS_GET */
! /* macro to access it when FT_CONFIG_OPTION_PIC is defined */
! #ifndef FT_CONFIG_OPTION_PIC
FT_CALLBACK_TABLE const FT_Glyph_Class ft_outline_glyph_class;
- #endif
/* documentation is in ftstroke.h */
FT_EXPORT_DEF( FT_StrokerBorder )
--- 1,35 ----
! /****************************************************************************
! *
! * ftstroke.c
! *
! * FreeType path stroker (body).
! *
! * Copyright (C) 2002-2019 by
! * David Turner, Robert Wilhelm, and Werner Lemberg.
! *
! * This file is part of the FreeType project, and may only be used,
! * modified, and distributed under the terms of the FreeType project
! * license, LICENSE.TXT. By continuing to use, modify, or distribute
! * this file you indicate that you have read the license and
! * understand and accept it fully.
! *
! */
#include <ft2build.h>
#include FT_STROKER_H
#include FT_TRIGONOMETRY_H
#include FT_OUTLINE_H
#include FT_INTERNAL_MEMORY_H
#include FT_INTERNAL_DEBUG_H
#include FT_INTERNAL_OBJECTS_H
/* declare an extern to access `ft_outline_glyph_class' globally */
! /* allocated in `ftglyph.c' */
FT_CALLBACK_TABLE const FT_Glyph_Class ft_outline_glyph_class;
/* documentation is in ftstroke.h */
FT_EXPORT_DEF( FT_StrokerBorder )
*** 370,379 ****
--- 365,375 ----
{
/* copy the last point to the start of this sub-path, since */
/* it contains the `adjusted' starting coordinates */
border->num_points = --count;
border->points[start] = border->points[count];
+ border->tags[start] = border->tags[count];
if ( reverse )
{
/* reverse the points */
{
*** 434,445 ****
/* move last point */
border->points[border->num_points - 1] = *to;
}
else
{
! /* don't add zero-length lineto */
! if ( border->num_points > 0 &&
FT_IS_SMALL( border->points[border->num_points - 1].x - to->x ) &&
FT_IS_SMALL( border->points[border->num_points - 1].y - to->y ) )
return error;
/* add one point */
--- 430,441 ----
/* move last point */
border->points[border->num_points - 1] = *to;
}
else
{
! /* don't add zero-length lineto, but always add moveto */
! if ( border->num_points > (FT_UInt)border->start &&
FT_IS_SMALL( border->points[border->num_points - 1].x - to->x ) &&
FT_IS_SMALL( border->points[border->num_points - 1].y - to->y ) )
return error;
/* add one point */
*** 2304,2324 ****
FT_Bool destroy )
{
FT_Error error = FT_ERR( Invalid_Argument );
FT_Glyph glyph = NULL;
- /* for FT_OUTLINE_GLYPH_CLASS_GET (in PIC mode) */
- FT_Library library = stroker->library;
-
- FT_UNUSED( library );
-
if ( !pglyph )
goto Exit;
glyph = *pglyph;
! if ( !glyph || glyph->clazz != FT_OUTLINE_GLYPH_CLASS_GET )
goto Exit;
{
FT_Glyph copy;
--- 2300,2315 ----
FT_Bool destroy )
{
FT_Error error = FT_ERR( Invalid_Argument );
FT_Glyph glyph = NULL;
if ( !pglyph )
goto Exit;
glyph = *pglyph;
! if ( !glyph || glyph->clazz != &ft_outline_glyph_class )
goto Exit;
{
FT_Glyph copy;
*** 2384,2404 ****
FT_Bool destroy )
{
FT_Error error = FT_ERR( Invalid_Argument );
FT_Glyph glyph = NULL;
- /* for FT_OUTLINE_GLYPH_CLASS_GET (in PIC mode) */
- FT_Library library = stroker->library;
-
- FT_UNUSED( library );
-
if ( !pglyph )
goto Exit;
glyph = *pglyph;
! if ( !glyph || glyph->clazz != FT_OUTLINE_GLYPH_CLASS_GET )
goto Exit;
{
FT_Glyph copy;
--- 2375,2390 ----
FT_Bool destroy )
{
FT_Error error = FT_ERR( Invalid_Argument );
FT_Glyph glyph = NULL;
if ( !pglyph )
goto Exit;
glyph = *pglyph;
! if ( !glyph || glyph->clazz != &ft_outline_glyph_class )
goto Exit;
{
FT_Glyph copy;
< prev index next >