diff --git a/builds/amiga/include/config/ftmodule.h b/builds/amiga/include/config/ftmodule.h index 73e86d5b6..50087554f 100644 --- a/builds/amiga/include/config/ftmodule.h +++ b/builds/amiga/include/config/ftmodule.h @@ -4,8 +4,13 @@ /* */ /* Amiga-specific FreeType module selection. */ /* */ +<<<<<<< HEAD /* Copyright (C) 2005-2022 by */ /* Werner Lemberg and Detlef Würkner. */ +======= +/* Copyright (C) 2005-2021 by */ +/* Werner Lemberg and Detlef W�rkner. */ +>>>>>>> d9fdb2202 (Compilation fix attempt #1) /* */ /* This file is part of the FreeType project, and may only be used, */ /* modified, and distributed under the terms of the FreeType project */ @@ -135,6 +140,10 @@ FT_USE_MODULE( FT_Renderer_Class, ft_raster1_renderer_class ) FT_USE_MODULE( FT_Module_Class, sfnt_module_class ) #endif +#ifdef FT_USE_DENSE +FT_USE_MODULE( FT_Renderer_Class, ft_dense_renderer_class ) +#endif + #ifdef FT_USE_SMOOTH FT_USE_MODULE( FT_Renderer_Class, ft_smooth_renderer_class ) #endif diff --git a/include/freetype/config/ftmodule.h b/include/freetype/config/ftmodule.h index 992d48de2..3b692aa28 100644 --- a/include/freetype/config/ftmodule.h +++ b/include/freetype/config/ftmodule.h @@ -24,12 +24,11 @@ FT_USE_MODULE( FT_Module_Class, psaux_module_class ) FT_USE_MODULE( FT_Module_Class, psnames_module_class ) FT_USE_MODULE( FT_Module_Class, pshinter_module_class ) FT_USE_MODULE( FT_Module_Class, sfnt_module_class ) +FT_USE_MODULE( FT_Renderer_Class, ft_dense_renderer_class ) FT_USE_MODULE( FT_Renderer_Class, ft_smooth_renderer_class ) FT_USE_MODULE( FT_Renderer_Class, ft_raster1_renderer_class ) FT_USE_MODULE( FT_Renderer_Class, ft_sdf_renderer_class ) FT_USE_MODULE( FT_Renderer_Class, ft_bitmap_sdf_renderer_class ) FT_USE_MODULE( FT_Renderer_Class, ft_svg_renderer_class ) -FT_USE_MODULE( FT_Renderer_Class, ft_dense_renderer_class ) - /* EOF */ diff --git a/modules.cfg b/modules.cfg index aded92e5e..986b46fd3 100644 --- a/modules.cfg +++ b/modules.cfg @@ -93,6 +93,7 @@ HINTING_MODULES += pshinter #### raster modules -- at least one is required for vector font formats #### +RASTER_MODULES += dense # Anti-aliasing rasterizer. RASTER_MODULES += smooth diff --git a/src/dense/dense.c b/src/dense/dense.c index 6893aa715..4377264f2 100644 --- a/src/dense/dense.c +++ b/src/dense/dense.c @@ -1,3 +1,6 @@ /** For building a single object of the entire module */ +#define FT_MAKE_OPTION_SINGLE_OBJECT +#include "ftdense.c" +#include "ftdenserend.c" /* END */ \ No newline at end of file diff --git a/src/dense/ftdense.c b/src/dense/ftdense.c index f2df0517e..5ff511a77 100644 --- a/src/dense/ftdense.c +++ b/src/dense/ftdense.c @@ -49,7 +49,7 @@ dense_line_to( const FT_Vector* to, RasterFP* aRasterFP ) void RasterFP_DrawLine( RasterFP* aRasterFP, RasterFP_Point aP0, RasterFP_Point aP1 ) { - assert( aRasterFP ); + // assert( aRasterFP ); if ( aP0.m_y == aP1.m_y ) return; @@ -221,7 +221,7 @@ RasterFP_DrawQuadratic( RasterFP* aRasterFP, RasterFP_Point aP1, RasterFP_Point aP2 ) { - assert( aRasterFP ); + // assert( aRasterFP ); /* Calculate devsq as the square of four times the @@ -297,7 +297,7 @@ RasterFP_DrawCubic( RasterFP* aRasterFP, RasterFP_Point aP2, RasterFP_Point aP3 ) { - assert( aRasterFP ); + // assert( aRasterFP ); float devx = aP0.m_x - aP1.m_x - aP1.m_x + aP2.m_x; float devy = aP0.m_y - aP1.m_y - aP1.m_y + aP2.m_y; diff --git a/src/dense/module.mk b/src/dense/module.mk new file mode 100644 index 000000000..cf6b9cfac --- /dev/null +++ b/src/dense/module.mk @@ -0,0 +1,23 @@ +# +# FreeType 2 smooth renderer module definition +# + + +# Copyright (C) 1996-2021 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. + + +FTMODULE_H_COMMANDS += DENSE_RENDERER + +define DENSE_RENDERER +$(OPEN_DRIVER) FT_Renderer_Class, ft_dense_renderer_class $(CLOSE_DRIVER) +$(ECHO_DRIVER)dense $(ECHO_DRIVER_DESC)anti-aliased dense renderer$(ECHO_DRIVER_DONE) +endef + +# EOF diff --git a/src/dense/rules.mk b/src/dense/rules.mk new file mode 100644 index 000000000..005116873 --- /dev/null +++ b/src/dense/rules.mk @@ -0,0 +1,73 @@ +# +# FreeType 2 DENSE renderer module build rules +# + + +# Copyright (C) 1996-2021 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. + + +# DENSE driver directory +# +DENSE_DIR := $(SRC_DIR)/dense + + +# compilation flags for the driver +# +DENSE_COMPILE := $(CC) $(ANSIFLAGS) \ + $I$(subst /,$(COMPILER_SEP),$(DENSE_DIR)) \ + $(INCLUDE_FLAGS) \ + $(FT_CFLAGS) + + +# DENSE driver sources (i.e., C files) +# +DENSE_DRV_SRC := $(DENSE_DIR)/ftdense.c \ + $(DENSE_DIR)/ftdenserend.c + + +# DENSE driver headers +# +DENSE_DRV_H := $(DENSE_DRV_SRC:%c=%h) \ + $(DENSE_DIR)/ftdenseerrs.h + + +# DENSE driver object(s) +# +# DENSE_DRV_OBJ_M is used during `multi' builds. +# DENSE_DRV_OBJ_S is used during `single' builds. +# +DENSE_DRV_OBJ_M := $(DENSE_DRV_SRC:$(DENSE_DIR)/%.c=$(OBJ_DIR)/%.$O) +DENSE_DRV_OBJ_S := $(OBJ_DIR)/dense.$O + +# DENSE driver source file for single build +# +DENSE_DRV_SRC_S := $(DENSE_DIR)/dense.c + + +# DENSE driver - single object +# +$(DENSE_DRV_OBJ_S): $(DENSE_DRV_SRC_S) $(DENSE_DRV_SRC) \ + $(FREETYPE_H) $(DENSE_DRV_H) + $(DENSE_COMPILE) $T$(subst /,$(COMPILER_SEP),$@ $(DENSE_DRV_SRC_S)) + + +# DENSE driver - multiple objects +# +$(OBJ_DIR)/%.$O: $(DENSE_DIR)/%.c $(FREETYPE_H) $(DENSE_DRV_H) + $(DENSE_COMPILE) $T$(subst /,$(COMPILER_SEP),$@ $<) + + +# update main driver object lists +# +DRV_OBJS_S += $(DENSE_DRV_OBJ_S) +DRV_OBJS_M += $(DENSE_DRV_OBJ_M) + + +# EOF