├── .editorconfig ├── .gitignore ├── CMakeLists.txt ├── LICENSE.txt ├── README.md ├── deps ├── GL │ ├── glcorearb.h │ ├── glext.h │ ├── glxext.h │ └── wgl.h ├── KHR │ └── khrplatform.h ├── freetype │ ├── builds │ │ └── windows │ │ │ └── ftdebug.c │ ├── config │ │ ├── ftconfig.h │ │ ├── ftheader.h │ │ ├── ftmodule.h │ │ ├── ftoption.h │ │ └── ftstdlib.h │ ├── freetype.h │ ├── ftadvanc.h │ ├── ftbbox.h │ ├── ftbdf.h │ ├── ftbitmap.h │ ├── ftbzip2.h │ ├── ftcache.h │ ├── ftchapters.h │ ├── ftcid.h │ ├── ftcolor.h │ ├── ftdriver.h │ ├── fterrdef.h │ ├── fterrors.h │ ├── ftfntfmt.h │ ├── ftgasp.h │ ├── ftglyph.h │ ├── ftgxval.h │ ├── ftgzip.h │ ├── ftimage.h │ ├── ftincrem.h │ ├── ftlcdfil.h │ ├── ftlist.h │ ├── ftlzw.h │ ├── ftmac.h │ ├── ftmm.h │ ├── ftmodapi.h │ ├── ftmoderr.h │ ├── ftotval.h │ ├── ftoutln.h │ ├── ftparams.h │ ├── ftpfr.h │ ├── ftrender.h │ ├── ftsizes.h │ ├── ftsnames.h │ ├── ftstroke.h │ ├── ftsynth.h │ ├── ftsystem.h │ ├── fttrigon.h │ ├── fttypes.h │ ├── ftwinfnt.h │ ├── internal │ │ ├── autohint.h │ │ ├── cffotypes.h │ │ ├── cfftypes.h │ │ ├── ftcalc.h │ │ ├── ftdebug.h │ │ ├── ftdrv.h │ │ ├── ftgloadr.h │ │ ├── fthash.h │ │ ├── ftmemory.h │ │ ├── ftobjs.h │ │ ├── ftpsprop.h │ │ ├── ftrfork.h │ │ ├── ftserv.h │ │ ├── ftstream.h │ │ ├── fttrace.h │ │ ├── ftvalid.h │ │ ├── internal.h │ │ ├── psaux.h │ │ ├── pshints.h │ │ ├── services │ │ │ ├── svbdf.h │ │ │ ├── svcfftl.h │ │ │ ├── svcid.h │ │ │ ├── svfntfmt.h │ │ │ ├── svgldict.h │ │ │ ├── svgxval.h │ │ │ ├── svkern.h │ │ │ ├── svmetric.h │ │ │ ├── svmm.h │ │ │ ├── svotval.h │ │ │ ├── svpfr.h │ │ │ ├── svpostnm.h │ │ │ ├── svprop.h │ │ │ ├── svpscmap.h │ │ │ ├── svpsinfo.h │ │ │ ├── svsfnt.h │ │ │ ├── svttcmap.h │ │ │ ├── svtteng.h │ │ │ ├── svttglyf.h │ │ │ └── svwinfnt.h │ │ ├── sfnt.h │ │ ├── t1types.h │ │ ├── tttypes.h │ │ └── wofftypes.h │ ├── src │ │ ├── autofit │ │ │ ├── afangles.c │ │ │ ├── afangles.h │ │ │ ├── afblue.c │ │ │ ├── afblue.cin │ │ │ ├── afblue.dat │ │ │ ├── afblue.h │ │ │ ├── afblue.hin │ │ │ ├── afcjk.c │ │ │ ├── afcjk.h │ │ │ ├── afcover.h │ │ │ ├── afdummy.c │ │ │ ├── afdummy.h │ │ │ ├── aferrors.h │ │ │ ├── afglobal.c │ │ │ ├── afglobal.h │ │ │ ├── afhints.c │ │ │ ├── afhints.h │ │ │ ├── afindic.c │ │ │ ├── afindic.h │ │ │ ├── aflatin.c │ │ │ ├── aflatin.h │ │ │ ├── aflatin2.c │ │ │ ├── aflatin2.h │ │ │ ├── afloader.c │ │ │ ├── afloader.h │ │ │ ├── afmodule.c │ │ │ ├── afmodule.h │ │ │ ├── afranges.c │ │ │ ├── afranges.h │ │ │ ├── afscript.h │ │ │ ├── afshaper.c │ │ │ ├── afshaper.h │ │ │ ├── afstyles.h │ │ │ ├── aftypes.h │ │ │ ├── afwarp.c │ │ │ ├── afwarp.h │ │ │ ├── afwrtsys.h │ │ │ └── autofit.c │ │ ├── base │ │ │ ├── ftadvanc.c │ │ │ ├── ftbase.c │ │ │ ├── ftbase.h │ │ │ ├── ftbbox.c │ │ │ ├── ftbdf.c │ │ │ ├── ftbitmap.c │ │ │ ├── ftcalc.c │ │ │ ├── ftcid.c │ │ │ ├── ftcolor.c │ │ │ ├── ftdbgmem.c │ │ │ ├── ftdebug.c │ │ │ ├── fterrors.c │ │ │ ├── ftfntfmt.c │ │ │ ├── ftfstype.c │ │ │ ├── ftgasp.c │ │ │ ├── ftgloadr.c │ │ │ ├── ftglyph.c │ │ │ ├── ftgxval.c │ │ │ ├── fthash.c │ │ │ ├── ftinit.c │ │ │ ├── ftlcdfil.c │ │ │ ├── ftmac.c │ │ │ ├── ftmm.c │ │ │ ├── ftobjs.c │ │ │ ├── ftotval.c │ │ │ ├── ftoutln.c │ │ │ ├── ftpatent.c │ │ │ ├── ftpfr.c │ │ │ ├── ftpsprop.c │ │ │ ├── ftrfork.c │ │ │ ├── ftsnames.c │ │ │ ├── ftstream.c │ │ │ ├── ftstroke.c │ │ │ ├── ftsynth.c │ │ │ ├── ftsystem.c │ │ │ ├── fttrigon.c │ │ │ ├── fttype1.c │ │ │ ├── ftutil.c │ │ │ ├── ftwinfnt.c │ │ │ ├── md5.c │ │ │ └── md5.h │ │ ├── bdf │ │ │ ├── bdf.c │ │ │ ├── bdf.h │ │ │ ├── bdfdrivr.c │ │ │ ├── bdfdrivr.h │ │ │ ├── bdferror.h │ │ │ └── bdflib.c │ │ ├── cache │ │ │ ├── ftcache.c │ │ │ ├── ftcbasic.c │ │ │ ├── ftccache.c │ │ │ ├── ftccache.h │ │ │ ├── ftccback.h │ │ │ ├── ftccmap.c │ │ │ ├── ftcerror.h │ │ │ ├── ftcglyph.c │ │ │ ├── ftcglyph.h │ │ │ ├── ftcimage.c │ │ │ ├── ftcimage.h │ │ │ ├── ftcmanag.c │ │ │ ├── ftcmanag.h │ │ │ ├── ftcmru.c │ │ │ ├── ftcmru.h │ │ │ ├── ftcsbits.c │ │ │ └── ftcsbits.h │ │ ├── cff │ │ │ ├── cff.c │ │ │ ├── cffcmap.c │ │ │ ├── cffcmap.h │ │ │ ├── cffdrivr.c │ │ │ ├── cffdrivr.h │ │ │ ├── cfferrs.h │ │ │ ├── cffgload.c │ │ │ ├── cffgload.h │ │ │ ├── cffload.c │ │ │ ├── cffload.h │ │ │ ├── cffobjs.c │ │ │ ├── cffobjs.h │ │ │ ├── cffparse.c │ │ │ ├── cffparse.h │ │ │ └── cfftoken.h │ │ ├── cid │ │ │ ├── ciderrs.h │ │ │ ├── cidgload.c │ │ │ ├── cidgload.h │ │ │ ├── cidload.c │ │ │ ├── cidload.h │ │ │ ├── cidobjs.c │ │ │ ├── cidobjs.h │ │ │ ├── cidparse.c │ │ │ ├── cidparse.h │ │ │ ├── cidriver.c │ │ │ ├── cidriver.h │ │ │ ├── cidtoken.h │ │ │ └── type1cid.c │ │ ├── pcf │ │ │ ├── README │ │ │ ├── pcf.c │ │ │ ├── pcf.h │ │ │ ├── pcfdrivr.c │ │ │ ├── pcfdrivr.h │ │ │ ├── pcferror.h │ │ │ ├── pcfread.c │ │ │ ├── pcfread.h │ │ │ ├── pcfutil.c │ │ │ └── pcfutil.h │ │ ├── pfr │ │ │ ├── pfr.c │ │ │ ├── pfrcmap.c │ │ │ ├── pfrcmap.h │ │ │ ├── pfrdrivr.c │ │ │ ├── pfrdrivr.h │ │ │ ├── pfrerror.h │ │ │ ├── pfrgload.c │ │ │ ├── pfrgload.h │ │ │ ├── pfrload.c │ │ │ ├── pfrload.h │ │ │ ├── pfrobjs.c │ │ │ ├── pfrobjs.h │ │ │ ├── pfrsbit.c │ │ │ ├── pfrsbit.h │ │ │ └── pfrtypes.h │ │ ├── psaux │ │ │ ├── afmparse.c │ │ │ ├── afmparse.h │ │ │ ├── cffdecode.c │ │ │ ├── cffdecode.h │ │ │ ├── psarrst.c │ │ │ ├── psarrst.h │ │ │ ├── psaux.c │ │ │ ├── psauxerr.h │ │ │ ├── psauxmod.c │ │ │ ├── psauxmod.h │ │ │ ├── psblues.c │ │ │ ├── psblues.h │ │ │ ├── psconv.c │ │ │ ├── psconv.h │ │ │ ├── pserror.c │ │ │ ├── pserror.h │ │ │ ├── psfixed.h │ │ │ ├── psfont.c │ │ │ ├── psfont.h │ │ │ ├── psft.c │ │ │ ├── psft.h │ │ │ ├── psglue.h │ │ │ ├── pshints.c │ │ │ ├── pshints.h │ │ │ ├── psintrp.c │ │ │ ├── psintrp.h │ │ │ ├── psobjs.c │ │ │ ├── psobjs.h │ │ │ ├── psread.c │ │ │ ├── psread.h │ │ │ ├── psstack.c │ │ │ ├── psstack.h │ │ │ ├── pstypes.h │ │ │ ├── t1cmap.c │ │ │ ├── t1cmap.h │ │ │ ├── t1decode.c │ │ │ └── t1decode.h │ │ ├── pshinter │ │ │ ├── pshalgo.c │ │ │ ├── pshalgo.h │ │ │ ├── pshglob.c │ │ │ ├── pshglob.h │ │ │ ├── pshinter.c │ │ │ ├── pshmod.c │ │ │ ├── pshmod.h │ │ │ ├── pshnterr.h │ │ │ ├── pshrec.c │ │ │ └── pshrec.h │ │ ├── psnames │ │ │ ├── psmodule.c │ │ │ ├── psmodule.h │ │ │ ├── psnamerr.h │ │ │ ├── psnames.c │ │ │ └── pstables.h │ │ ├── raster │ │ │ ├── ftmisc.h │ │ │ ├── ftraster.c │ │ │ ├── ftraster.h │ │ │ ├── ftrend1.c │ │ │ ├── ftrend1.h │ │ │ ├── raster.c │ │ │ └── rasterrs.h │ │ ├── sfnt │ │ │ ├── pngshim.c │ │ │ ├── pngshim.h │ │ │ ├── sfdriver.c │ │ │ ├── sfdriver.h │ │ │ ├── sferrors.h │ │ │ ├── sfnt.c │ │ │ ├── sfobjs.c │ │ │ ├── sfobjs.h │ │ │ ├── sfwoff.c │ │ │ ├── sfwoff.h │ │ │ ├── sfwoff2.c │ │ │ ├── sfwoff2.h │ │ │ ├── ttbdf.c │ │ │ ├── ttbdf.h │ │ │ ├── ttcmap.c │ │ │ ├── ttcmap.h │ │ │ ├── ttcmapc.h │ │ │ ├── ttcolr.c │ │ │ ├── ttcolr.h │ │ │ ├── ttcpal.c │ │ │ ├── ttcpal.h │ │ │ ├── ttkern.c │ │ │ ├── ttkern.h │ │ │ ├── ttload.c │ │ │ ├── ttload.h │ │ │ ├── ttmtx.c │ │ │ ├── ttmtx.h │ │ │ ├── ttpost.c │ │ │ ├── ttpost.h │ │ │ ├── ttsbit.c │ │ │ ├── ttsbit.h │ │ │ ├── woff2tags.c │ │ │ └── woff2tags.h │ │ ├── smooth │ │ │ ├── ftgrays.c │ │ │ ├── ftgrays.h │ │ │ ├── ftsmerrs.h │ │ │ ├── ftsmooth.c │ │ │ ├── ftsmooth.h │ │ │ └── smooth.c │ │ ├── truetype │ │ │ ├── truetype.c │ │ │ ├── ttdriver.c │ │ │ ├── ttdriver.h │ │ │ ├── tterrors.h │ │ │ ├── ttgload.c │ │ │ ├── ttgload.h │ │ │ ├── ttgxvar.c │ │ │ ├── ttgxvar.h │ │ │ ├── ttinterp.c │ │ │ ├── ttinterp.h │ │ │ ├── ttobjs.c │ │ │ ├── ttobjs.h │ │ │ ├── ttpload.c │ │ │ ├── ttpload.h │ │ │ ├── ttsubpix.c │ │ │ └── ttsubpix.h │ │ ├── type1 │ │ │ ├── t1afm.c │ │ │ ├── t1afm.h │ │ │ ├── t1driver.c │ │ │ ├── t1driver.h │ │ │ ├── t1errors.h │ │ │ ├── t1gload.c │ │ │ ├── t1gload.h │ │ │ ├── t1load.c │ │ │ ├── t1load.h │ │ │ ├── t1objs.c │ │ │ ├── t1objs.h │ │ │ ├── t1parse.c │ │ │ ├── t1parse.h │ │ │ ├── t1tokens.h │ │ │ └── type1.c │ │ ├── type42 │ │ │ ├── t42drivr.c │ │ │ ├── t42drivr.h │ │ │ ├── t42error.h │ │ │ ├── t42objs.c │ │ │ ├── t42objs.h │ │ │ ├── t42parse.c │ │ │ ├── t42parse.h │ │ │ ├── t42types.h │ │ │ └── type42.c │ │ └── winfonts │ │ │ ├── fnterrs.h │ │ │ ├── winfnt.c │ │ │ └── winfnt.h │ ├── t1tables.h │ ├── ttnameid.h │ ├── tttables.h │ └── tttags.h ├── ft2build.h ├── glad │ └── glad.h ├── jpeg │ ├── LICENSE.md │ ├── README.ijg │ ├── README.md │ ├── cderror.h │ ├── cdjpeg.c │ ├── cdjpeg.h │ ├── cjpeg.c │ ├── cmyk.h │ ├── djpeg.c │ ├── jaricom.c │ ├── jcapimin.c │ ├── jcapistd.c │ ├── jcarith.c │ ├── jccoefct.c │ ├── jccolext.c │ ├── jccolor.c │ ├── jcdctmgr.c │ ├── jchuff.c │ ├── jchuff.h │ ├── jcicc.c │ ├── jcinit.c │ ├── jcmainct.c │ ├── jcmarker.c │ ├── jcmaster.c │ ├── jcomapi.c │ ├── jconfig.h │ ├── jconfigint.h │ ├── jcparam.c │ ├── jcphuff.c │ ├── jcprepct.c │ ├── jcsample.c │ ├── jcstest.c │ ├── jctrans.c │ ├── jdapimin.c │ ├── jdapistd.c │ ├── jdarith.c │ ├── jdatadst-tj.c │ ├── jdatadst.c │ ├── jdatasrc-tj.c │ ├── jdatasrc.c │ ├── jdcoefct.c │ ├── jdcoefct.h │ ├── jdcol565.c │ ├── jdcolext.c │ ├── jdcolor.c │ ├── jdct.h │ ├── jddctmgr.c │ ├── jdhuff.c │ ├── jdhuff.h │ ├── jdicc.c │ ├── jdinput.c │ ├── jdmainct.c │ ├── jdmainct.h │ ├── jdmarker.c │ ├── jdmaster.c │ ├── jdmaster.h │ ├── jdmerge.c │ ├── jdmerge.h │ ├── jdmrg565.c │ ├── jdmrgext.c │ ├── jdphuff.c │ ├── jdpostct.c │ ├── jdsample.c │ ├── jdsample.h │ ├── jdtrans.c │ ├── jerror.c │ ├── jerror.h │ ├── jfdctflt.c │ ├── jfdctfst.c │ ├── jfdctint.c │ ├── jidctflt.c │ ├── jidctfst.c │ ├── jidctint.c │ ├── jidctred.c │ ├── jinclude.h │ ├── jmemmgr.c │ ├── jmemnobs.c │ ├── jmemsys.h │ ├── jmorecfg.h │ ├── jpeg_nbits_table.h │ ├── jpegcomp.h │ ├── jpegint.h │ ├── jpeglib.h │ ├── jpegtran.c │ ├── jquant1.c │ ├── jquant2.c │ ├── jsimd.h │ ├── jsimd_none.c │ ├── jsimddct.h │ ├── jstdhuff.c │ ├── jutils.c │ ├── jversion.h │ ├── rdbmp.c │ ├── rdcolmap.c │ ├── rdgif.c │ ├── rdjpgcom.c │ ├── rdppm.c │ ├── rdswitch.c │ ├── rdtarga.c │ ├── simd │ │ ├── CMakeLists.txt │ │ ├── arm │ │ │ ├── aarch32 │ │ │ │ ├── jccolext-neon.c │ │ │ │ ├── jchuff-neon.c │ │ │ │ ├── jsimd.c │ │ │ │ └── jsimd_neon.S │ │ │ ├── aarch64 │ │ │ │ ├── jccolext-neon.c │ │ │ │ ├── jchuff-neon.c │ │ │ │ ├── jsimd.c │ │ │ │ └── jsimd_neon.S │ │ │ ├── align.h │ │ │ ├── jccolor-neon.c │ │ │ ├── jcgray-neon.c │ │ │ ├── jcgryext-neon.c │ │ │ ├── jchuff.h │ │ │ ├── jcphuff-neon.c │ │ │ ├── jcsample-neon.c │ │ │ ├── jdcolext-neon.c │ │ │ ├── jdcolor-neon.c │ │ │ ├── jdmerge-neon.c │ │ │ ├── jdmrgext-neon.c │ │ │ ├── jdsample-neon.c │ │ │ ├── jfdctfst-neon.c │ │ │ ├── jfdctint-neon.c │ │ │ ├── jidctfst-neon.c │ │ │ ├── jidctint-neon.c │ │ │ ├── jidctred-neon.c │ │ │ ├── jquanti-neon.c │ │ │ └── neon-compat.h.in │ │ ├── i386 │ │ │ ├── jccolext-avx2.asm │ │ │ ├── jccolext-mmx.asm │ │ │ ├── jccolext-sse2.asm │ │ │ ├── jccolor-avx2.asm │ │ │ ├── jccolor-mmx.asm │ │ │ ├── jccolor-sse2.asm │ │ │ ├── jcgray-avx2.asm │ │ │ ├── jcgray-mmx.asm │ │ │ ├── jcgray-sse2.asm │ │ │ ├── jcgryext-avx2.asm │ │ │ ├── jcgryext-mmx.asm │ │ │ ├── jcgryext-sse2.asm │ │ │ ├── jchuff-sse2.asm │ │ │ ├── jcphuff-sse2.asm │ │ │ ├── jcsample-avx2.asm │ │ │ ├── jcsample-mmx.asm │ │ │ ├── jcsample-sse2.asm │ │ │ ├── jdcolext-avx2.asm │ │ │ ├── jdcolext-mmx.asm │ │ │ ├── jdcolext-sse2.asm │ │ │ ├── jdcolor-avx2.asm │ │ │ ├── jdcolor-mmx.asm │ │ │ ├── jdcolor-sse2.asm │ │ │ ├── jdmerge-avx2.asm │ │ │ ├── jdmerge-mmx.asm │ │ │ ├── jdmerge-sse2.asm │ │ │ ├── jdmrgext-avx2.asm │ │ │ ├── jdmrgext-mmx.asm │ │ │ ├── jdmrgext-sse2.asm │ │ │ ├── jdsample-avx2.asm │ │ │ ├── jdsample-mmx.asm │ │ │ ├── jdsample-sse2.asm │ │ │ ├── jfdctflt-3dn.asm │ │ │ ├── jfdctflt-sse.asm │ │ │ ├── jfdctfst-mmx.asm │ │ │ ├── jfdctfst-sse2.asm │ │ │ ├── jfdctint-avx2.asm │ │ │ ├── jfdctint-mmx.asm │ │ │ ├── jfdctint-sse2.asm │ │ │ ├── jidctflt-3dn.asm │ │ │ ├── jidctflt-sse.asm │ │ │ ├── jidctflt-sse2.asm │ │ │ ├── jidctfst-mmx.asm │ │ │ ├── jidctfst-sse2.asm │ │ │ ├── jidctint-avx2.asm │ │ │ ├── jidctint-mmx.asm │ │ │ ├── jidctint-sse2.asm │ │ │ ├── jidctred-mmx.asm │ │ │ ├── jidctred-sse2.asm │ │ │ ├── jquant-3dn.asm │ │ │ ├── jquant-mmx.asm │ │ │ ├── jquant-sse.asm │ │ │ ├── jquantf-sse2.asm │ │ │ ├── jquanti-avx2.asm │ │ │ ├── jquanti-sse2.asm │ │ │ ├── jsimd.c │ │ │ └── jsimdcpu.asm │ │ ├── jsimd.h │ │ ├── mips │ │ │ ├── jsimd.c │ │ │ ├── jsimd_dspr2.S │ │ │ └── jsimd_dspr2_asm.h │ │ ├── mips64 │ │ │ ├── jccolext-mmi.c │ │ │ ├── jccolor-mmi.c │ │ │ ├── jcgray-mmi.c │ │ │ ├── jcgryext-mmi.c │ │ │ ├── jcsample-mmi.c │ │ │ ├── jcsample.h │ │ │ ├── jdcolext-mmi.c │ │ │ ├── jdcolor-mmi.c │ │ │ ├── jdmerge-mmi.c │ │ │ ├── jdmrgext-mmi.c │ │ │ ├── jdsample-mmi.c │ │ │ ├── jfdctfst-mmi.c │ │ │ ├── jfdctint-mmi.c │ │ │ ├── jidctfst-mmi.c │ │ │ ├── jidctint-mmi.c │ │ │ ├── jquanti-mmi.c │ │ │ ├── jsimd.c │ │ │ ├── jsimd_mmi.h │ │ │ └── loongson-mmintrin.h │ │ ├── nasm │ │ │ ├── jcolsamp.inc │ │ │ ├── jdct.inc │ │ │ ├── jsimdcfg.inc │ │ │ ├── jsimdcfg.inc.h │ │ │ └── jsimdext.inc │ │ ├── powerpc │ │ │ ├── jccolext-altivec.c │ │ │ ├── jccolor-altivec.c │ │ │ ├── jcgray-altivec.c │ │ │ ├── jcgryext-altivec.c │ │ │ ├── jcsample-altivec.c │ │ │ ├── jcsample.h │ │ │ ├── jdcolext-altivec.c │ │ │ ├── jdcolor-altivec.c │ │ │ ├── jdmerge-altivec.c │ │ │ ├── jdmrgext-altivec.c │ │ │ ├── jdsample-altivec.c │ │ │ ├── jfdctfst-altivec.c │ │ │ ├── jfdctint-altivec.c │ │ │ ├── jidctfst-altivec.c │ │ │ ├── jidctint-altivec.c │ │ │ ├── jquanti-altivec.c │ │ │ ├── jsimd.c │ │ │ └── jsimd_altivec.h │ │ └── x86_64 │ │ │ ├── jccolext-avx2.asm │ │ │ ├── jccolext-sse2.asm │ │ │ ├── jccolor-avx2.asm │ │ │ ├── jccolor-sse2.asm │ │ │ ├── jcgray-avx2.asm │ │ │ ├── jcgray-sse2.asm │ │ │ ├── jcgryext-avx2.asm │ │ │ ├── jcgryext-sse2.asm │ │ │ ├── jchuff-sse2.asm │ │ │ ├── jcphuff-sse2.asm │ │ │ ├── jcsample-avx2.asm │ │ │ ├── jcsample-sse2.asm │ │ │ ├── jdcolext-avx2.asm │ │ │ ├── jdcolext-sse2.asm │ │ │ ├── jdcolor-avx2.asm │ │ │ ├── jdcolor-sse2.asm │ │ │ ├── jdmerge-avx2.asm │ │ │ ├── jdmerge-sse2.asm │ │ │ ├── jdmrgext-avx2.asm │ │ │ ├── jdmrgext-sse2.asm │ │ │ ├── jdsample-avx2.asm │ │ │ ├── jdsample-sse2.asm │ │ │ ├── jfdctflt-sse.asm │ │ │ ├── jfdctfst-sse2.asm │ │ │ ├── jfdctint-avx2.asm │ │ │ ├── jfdctint-sse2.asm │ │ │ ├── jidctflt-sse2.asm │ │ │ ├── jidctfst-sse2.asm │ │ │ ├── jidctint-avx2.asm │ │ │ ├── jidctint-sse2.asm │ │ │ ├── jidctred-sse2.asm │ │ │ ├── jquantf-sse2.asm │ │ │ ├── jquanti-avx2.asm │ │ │ ├── jquanti-sse2.asm │ │ │ ├── jsimd.c │ │ │ └── jsimdcpu.asm │ ├── tjbench.c │ ├── tjexample.c │ ├── tjunittest.c │ ├── tjutil.c │ ├── tjutil.h │ ├── transupp.c │ ├── transupp.h │ ├── turbojpeg-jni.c │ ├── turbojpeg.c │ ├── turbojpeg.h │ ├── wrbmp.c │ ├── wrgif.c │ ├── wrjpgcom.c │ ├── wrppm.c │ └── wrtarga.c ├── keycode │ ├── keycode.h │ ├── keycode_id.c │ ├── keytable.h │ ├── linux_fromhid.c │ ├── linux_name.c │ ├── linux_rawname.c │ ├── linux_tohid.c │ ├── macos_fromhid.c │ ├── macos_modifier.c │ ├── macos_name.c │ ├── macos_rawname.c │ ├── macos_tohid.c │ ├── windows_fromhid.c │ ├── windows_lparam.c │ ├── windows_name.c │ ├── windows_rawname.c │ └── windows_tohid.c ├── mbedtls │ ├── aes.h │ ├── aesni.h │ ├── arc4.h │ ├── aria.h │ ├── asn1.h │ ├── asn1write.h │ ├── base64.h │ ├── bignum.h │ ├── blowfish.h │ ├── bn_mul.h │ ├── camellia.h │ ├── ccm.h │ ├── certs.h │ ├── chacha20.h │ ├── chachapoly.h │ ├── check_config.h │ ├── cipher.h │ ├── cipher_internal.h │ ├── cmac.h │ ├── compat-1.3.h │ ├── config.h │ ├── config_psa.h │ ├── ctr_drbg.h │ ├── debug.h │ ├── des.h │ ├── dhm.h │ ├── ecdh.h │ ├── ecdsa.h │ ├── ecjpake.h │ ├── ecp.h │ ├── ecp_internal.h │ ├── entropy.h │ ├── entropy_poll.h │ ├── error.h │ ├── gcm.h │ ├── havege.h │ ├── hkdf.h │ ├── hmac_drbg.h │ ├── library │ │ ├── aes.c │ │ ├── aesni.c │ │ ├── arc4.c │ │ ├── aria.c │ │ ├── asn1parse.c │ │ ├── asn1write.c │ │ ├── base64.c │ │ ├── bignum.c │ │ ├── blowfish.c │ │ ├── camellia.c │ │ ├── ccm.c │ │ ├── certs.c │ │ ├── chacha20.c │ │ ├── chachapoly.c │ │ ├── check_crypto_config.h │ │ ├── cipher.c │ │ ├── cipher_wrap.c │ │ ├── cmac.c │ │ ├── common.h │ │ ├── ctr_drbg.c │ │ ├── debug.c │ │ ├── des.c │ │ ├── dhm.c │ │ ├── ecdh.c │ │ ├── ecdsa.c │ │ ├── ecjpake.c │ │ ├── ecp.c │ │ ├── ecp_curves.c │ │ ├── entropy.c │ │ ├── entropy_poll.c │ │ ├── error.c │ │ ├── gcm.c │ │ ├── havege.c │ │ ├── hkdf.c │ │ ├── hmac_drbg.c │ │ ├── md.c │ │ ├── md2.c │ │ ├── md4.c │ │ ├── md5.c │ │ ├── memory_buffer_alloc.c │ │ ├── net_sockets.c │ │ ├── nist_kw.c │ │ ├── oid.c │ │ ├── padlock.c │ │ ├── pem.c │ │ ├── pk.c │ │ ├── pk_wrap.c │ │ ├── pkcs11.c │ │ ├── pkcs12.c │ │ ├── pkcs5.c │ │ ├── pkparse.c │ │ ├── pkwrite.c │ │ ├── platform.c │ │ ├── platform_util.c │ │ ├── poly1305.c │ │ ├── psa_crypto.c │ │ ├── psa_crypto_client.c │ │ ├── psa_crypto_core.h │ │ ├── psa_crypto_driver_wrappers.c │ │ ├── psa_crypto_driver_wrappers.h │ │ ├── psa_crypto_ecp.c │ │ ├── psa_crypto_ecp.h │ │ ├── psa_crypto_invasive.h │ │ ├── psa_crypto_its.h │ │ ├── psa_crypto_random_impl.h │ │ ├── psa_crypto_rsa.c │ │ ├── psa_crypto_rsa.h │ │ ├── psa_crypto_se.c │ │ ├── psa_crypto_se.h │ │ ├── psa_crypto_service_integration.h │ │ ├── psa_crypto_slot_management.c │ │ ├── psa_crypto_slot_management.h │ │ ├── psa_crypto_storage.c │ │ ├── psa_crypto_storage.h │ │ ├── psa_its_file.c │ │ ├── ripemd160.c │ │ ├── rsa.c │ │ ├── rsa_internal.c │ │ ├── sha1.c │ │ ├── sha256.c │ │ ├── sha512.c │ │ ├── ssl_cache.c │ │ ├── ssl_ciphersuites.c │ │ ├── ssl_cli.c │ │ ├── ssl_cookie.c │ │ ├── ssl_invasive.h │ │ ├── ssl_msg.c │ │ ├── ssl_srv.c │ │ ├── ssl_ticket.c │ │ ├── ssl_tls.c │ │ ├── ssl_tls13_keys.c │ │ ├── ssl_tls13_keys.h │ │ ├── threading.c │ │ ├── timing.c │ │ ├── version.c │ │ ├── version_features.c │ │ ├── x509.c │ │ ├── x509_create.c │ │ ├── x509_crl.c │ │ ├── x509_crt.c │ │ ├── x509_csr.c │ │ ├── x509write_crt.c │ │ ├── x509write_csr.c │ │ └── xtea.c │ ├── md.h │ ├── md2.h │ ├── md4.h │ ├── md5.h │ ├── md_internal.h │ ├── memory_buffer_alloc.h │ ├── net.h │ ├── net_sockets.h │ ├── nist_kw.h │ ├── oid.h │ ├── padlock.h │ ├── pem.h │ ├── pk.h │ ├── pk_internal.h │ ├── pkcs11.h │ ├── pkcs12.h │ ├── pkcs5.h │ ├── platform.h │ ├── platform_time.h │ ├── platform_util.h │ ├── poly1305.h │ ├── psa_util.h │ ├── ripemd160.h │ ├── rsa.h │ ├── rsa_internal.h │ ├── sha1.h │ ├── sha256.h │ ├── sha512.h │ ├── ssl.h │ ├── ssl_cache.h │ ├── ssl_ciphersuites.h │ ├── ssl_cookie.h │ ├── ssl_internal.h │ ├── ssl_ticket.h │ ├── threading.h │ ├── timing.h │ ├── version.h │ ├── x509.h │ ├── x509_crl.h │ ├── x509_crt.h │ ├── x509_csr.h │ └── xtea.h └── psa │ ├── crypto.h │ ├── crypto_compat.h │ ├── crypto_config.h │ ├── crypto_driver_common.h │ ├── crypto_extra.h │ ├── crypto_platform.h │ ├── crypto_se_driver.h │ ├── crypto_sizes.h │ ├── crypto_struct.h │ ├── crypto_types.h │ └── crypto_values.h ├── doc ├── freetype │ ├── FTL.TXT │ ├── GPLv2.TXT │ └── LICENSE.TXT ├── imgui │ └── LICENSE.txt ├── json.h │ └── LICENSE ├── keycode │ └── LICENSE.txt ├── libjpeg-turbo │ ├── LICENSE.md │ ├── README.ijg │ └── README.md ├── ltalloc │ └── LICENSE ├── lz4 │ ├── LICENSE │ └── lz4.c.txt ├── mbedtls │ └── LICENSE └── yxml │ └── COPYING.txt ├── resources ├── FontAwesome4 │ ├── LICENSE.txt │ ├── definitions.h │ └── font.ttf ├── icon │ ├── icon.icns │ ├── icon.ico │ ├── icon.rc │ ├── icon.svg │ ├── icon1024.png │ ├── icon128.png │ ├── icon16.png │ ├── icon24.png │ ├── icon256.png │ ├── icon32.png │ ├── icon512.png │ └── icon64.png ├── install_desktop_file.sh.in ├── slidescape.desktop.in ├── slidescape.exe.manifest └── uninstall_desktop_file.sh.in ├── shaders ├── basic.frag ├── basic.vert ├── finalblit.frag └── finalblit.vert └── src ├── Info.plist ├── config.h ├── core ├── annotation.cpp ├── annotation.h ├── annotation_asap_xml.cpp ├── caselist.cpp ├── caselist.h ├── coco.cpp ├── coco.h ├── commandline.cpp ├── console.cpp ├── gui.cpp ├── gui.h ├── image.c ├── image.h ├── image_registration.c ├── image_registration.h ├── image_resize.c ├── image_resize.h ├── ini.c ├── ini.h ├── remote.c ├── remote.h ├── scene.cpp ├── slide_score.c ├── slide_score.h ├── viewer.cpp ├── viewer.h ├── viewer_io_file.cpp ├── viewer_io_remote.cpp ├── viewer_opengl.cpp └── viewer_options.cpp ├── dicom ├── dicom.c ├── dicom.h ├── dicom_dict.c ├── dicom_dict.h ├── dicom_dict_gen.c ├── dicom_wsi.c └── dicom_wsi.h ├── imgui ├── ImGuiFileDialog.cpp ├── ImGuiFileDialog.h ├── ImGuiFileDialogConfig.h ├── backends │ ├── imgui_impl_opengl3.cpp │ ├── imgui_impl_opengl3.h │ ├── imgui_impl_opengl3_loader.h │ ├── imgui_impl_sdl2.cpp │ ├── imgui_impl_sdl2.h │ ├── imgui_impl_win32.cpp │ └── imgui_impl_win32.h ├── imconfig.h ├── imgui.cpp ├── imgui.h ├── imgui_demo.cpp ├── imgui_draw.cpp ├── imgui_internal.h ├── imgui_tables.cpp ├── imgui_widgets.cpp ├── imstb_rectpack.h ├── imstb_textedit.h ├── imstb_truetype.h └── misc │ └── freetype │ ├── imgui_freetype.cpp │ └── imgui_freetype.h ├── isyntax ├── isyntax.c ├── isyntax.h ├── isyntax_dwt.c ├── isyntax_reader.c ├── isyntax_reader.h ├── isyntax_streamer.c ├── isyntax_streamer.h ├── libisyntax.c └── libisyntax.h ├── mrxs ├── mrxs.c └── mrxs.h ├── platform ├── arena.h ├── common.h ├── font_definitions.h ├── glad.c ├── graphical_app.c ├── graphical_app.h ├── intrinsics.h ├── linux_gui.cpp ├── linux_main.cpp ├── linux_platform.c ├── linux_utils.c ├── listing.h ├── openslide_api.c ├── openslide_api.h ├── platform.c ├── platform.h ├── shader.c ├── shader.h ├── win32_graphical_app.c ├── win32_graphical_app.h ├── win32_gui.cpp ├── win32_gui.h ├── win32_main.cpp ├── win32_utils.c ├── win32_utils.h ├── work_queue.c └── work_queue.h ├── server.c ├── stringified_icon.h ├── stringified_shaders.h ├── third_party ├── http_parser.c ├── http_parser.h ├── json.h ├── keycode.h ├── keycode_id.c ├── keytable.h ├── linmath.h ├── ltalloc.cc ├── ltalloc.h ├── lz4.c ├── lz4.h ├── minfft.c ├── minfft.h ├── miniz.h ├── miniz_tinfl.c ├── random.c ├── stb_ds.h ├── stb_image.h ├── stb_image_write.h ├── stb_sprintf.h ├── yxml.c └── yxml.h ├── tiff ├── tif_lzw.c ├── tif_lzw.h ├── tiff.c ├── tiff.h ├── tiff_write.c ├── tiff_write.h └── tiff_xml.c └── utils ├── benaphore.c ├── benaphore.h ├── block_allocator.c ├── block_allocator.h ├── crc32.c ├── crc32.h ├── jpeg_decoder.c ├── jpeg_decoder.h ├── mathutils.c ├── mathutils.h ├── memrw.c ├── memrw.h ├── phasecorrelate.c ├── phasecorrelate.h ├── stringutils.c ├── stringutils.h ├── timerutils.c ├── timerutils.h ├── triangulate.c └── triangulate.h /.editorconfig: -------------------------------------------------------------------------------- 1 | root = true 2 | 3 | # Code style 4 | [*] 5 | indent_style = tab 6 | indent_size = 4 7 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | cmake-build*/ 2 | .idea/ 3 | release/ 4 | build/ 5 | *.exe 6 | *.dll 7 | *.app/* 8 | *.desktop 9 | *.ini 10 | 11 | data/ 12 | openslide/ 13 | *.tiff 14 | *.isyntax 15 | *.png 16 | *.json 17 | *.xml 18 | *.orig 19 | -------------------------------------------------------------------------------- /deps/freetype/config/ftmodule.h: -------------------------------------------------------------------------------- 1 | /* 2 | * This file registers the FreeType modules compiled into the library. 3 | * 4 | * If you use GNU make, this file IS NOT USED! Instead, it is created in 5 | * the objects directory (normally `/objs/`) based on information 6 | * from `/modules.cfg`. 7 | * 8 | * Please read `docs/INSTALL.ANY` and `docs/CUSTOMIZE` how to compile 9 | * FreeType without GNU make. 10 | * 11 | */ 12 | 13 | FT_USE_MODULE( FT_Module_Class, autofit_module_class ) 14 | FT_USE_MODULE( FT_Driver_ClassRec, tt_driver_class ) 15 | FT_USE_MODULE( FT_Driver_ClassRec, t1_driver_class ) 16 | FT_USE_MODULE( FT_Driver_ClassRec, cff_driver_class ) 17 | FT_USE_MODULE( FT_Driver_ClassRec, t1cid_driver_class ) 18 | FT_USE_MODULE( FT_Driver_ClassRec, pfr_driver_class ) 19 | FT_USE_MODULE( FT_Driver_ClassRec, t42_driver_class ) 20 | FT_USE_MODULE( FT_Driver_ClassRec, winfnt_driver_class ) 21 | FT_USE_MODULE( FT_Driver_ClassRec, pcf_driver_class ) 22 | FT_USE_MODULE( FT_Module_Class, psaux_module_class ) 23 | FT_USE_MODULE( FT_Module_Class, psnames_module_class ) 24 | FT_USE_MODULE( FT_Module_Class, pshinter_module_class ) 25 | FT_USE_MODULE( FT_Renderer_Class, ft_raster1_renderer_class ) 26 | FT_USE_MODULE( FT_Module_Class, sfnt_module_class ) 27 | FT_USE_MODULE( FT_Renderer_Class, ft_smooth_renderer_class ) 28 | FT_USE_MODULE( FT_Renderer_Class, ft_smooth_lcd_renderer_class ) 29 | FT_USE_MODULE( FT_Renderer_Class, ft_smooth_lcdv_renderer_class ) 30 | FT_USE_MODULE( FT_Driver_ClassRec, bdf_driver_class ) 31 | 32 | /* EOF */ 33 | -------------------------------------------------------------------------------- /deps/freetype/internal/ftpsprop.h: -------------------------------------------------------------------------------- 1 | /**************************************************************************** 2 | * 3 | * ftpsprop.h 4 | * 5 | * Get and set properties of PostScript drivers (specification). 6 | * 7 | * Copyright (C) 2017-2020 by 8 | * David Turner, Robert Wilhelm, and Werner Lemberg. 9 | * 10 | * This file is part of the FreeType project, and may only be used, 11 | * modified, and distributed under the terms of the FreeType project 12 | * license, LICENSE.TXT. By continuing to use, modify, or distribute 13 | * this file you indicate that you have read the license and 14 | * understand and accept it fully. 15 | * 16 | */ 17 | 18 | 19 | #ifndef FTPSPROP_H_ 20 | #define FTPSPROP_H_ 21 | 22 | 23 | #include 24 | #include FT_FREETYPE_H 25 | 26 | 27 | FT_BEGIN_HEADER 28 | 29 | 30 | FT_BASE_CALLBACK( FT_Error ) 31 | ps_property_set( FT_Module module, /* PS_Driver */ 32 | const char* property_name, 33 | const void* value, 34 | FT_Bool value_is_string ); 35 | 36 | FT_BASE_CALLBACK( FT_Error ) 37 | ps_property_get( FT_Module module, /* PS_Driver */ 38 | const char* property_name, 39 | void* value ); 40 | 41 | 42 | FT_END_HEADER 43 | 44 | 45 | #endif /* FTPSPROP_H_ */ 46 | 47 | 48 | /* END */ 49 | -------------------------------------------------------------------------------- /deps/freetype/internal/services/svfntfmt.h: -------------------------------------------------------------------------------- 1 | /**************************************************************************** 2 | * 3 | * svfntfmt.h 4 | * 5 | * The FreeType font format service (specification only). 6 | * 7 | * Copyright (C) 2003-2020 by 8 | * David Turner, Robert Wilhelm, and Werner Lemberg. 9 | * 10 | * This file is part of the FreeType project, and may only be used, 11 | * modified, and distributed under the terms of the FreeType project 12 | * license, LICENSE.TXT. By continuing to use, modify, or distribute 13 | * this file you indicate that you have read the license and 14 | * understand and accept it fully. 15 | * 16 | */ 17 | 18 | 19 | #ifndef SVFNTFMT_H_ 20 | #define SVFNTFMT_H_ 21 | 22 | #include FT_INTERNAL_SERVICE_H 23 | 24 | 25 | FT_BEGIN_HEADER 26 | 27 | 28 | /* 29 | * A trivial service used to return the name of a face's font driver, 30 | * according to the XFree86 nomenclature. Note that the service data is a 31 | * simple constant string pointer. 32 | */ 33 | 34 | #define FT_SERVICE_ID_FONT_FORMAT "font-format" 35 | 36 | #define FT_FONT_FORMAT_TRUETYPE "TrueType" 37 | #define FT_FONT_FORMAT_TYPE_1 "Type 1" 38 | #define FT_FONT_FORMAT_BDF "BDF" 39 | #define FT_FONT_FORMAT_PCF "PCF" 40 | #define FT_FONT_FORMAT_TYPE_42 "Type 42" 41 | #define FT_FONT_FORMAT_CID "CID Type 1" 42 | #define FT_FONT_FORMAT_CFF "CFF" 43 | #define FT_FONT_FORMAT_PFR "PFR" 44 | #define FT_FONT_FORMAT_WINFNT "Windows FNT" 45 | 46 | /* */ 47 | 48 | 49 | FT_END_HEADER 50 | 51 | 52 | #endif /* SVFNTFMT_H_ */ 53 | 54 | 55 | /* END */ 56 | -------------------------------------------------------------------------------- /deps/freetype/internal/services/svkern.h: -------------------------------------------------------------------------------- 1 | /**************************************************************************** 2 | * 3 | * svkern.h 4 | * 5 | * The FreeType Kerning service (specification). 6 | * 7 | * Copyright (C) 2006-2020 by 8 | * David Turner, Robert Wilhelm, and Werner Lemberg. 9 | * 10 | * This file is part of the FreeType project, and may only be used, 11 | * modified, and distributed under the terms of the FreeType project 12 | * license, LICENSE.TXT. By continuing to use, modify, or distribute 13 | * this file you indicate that you have read the license and 14 | * understand and accept it fully. 15 | * 16 | */ 17 | 18 | 19 | #ifndef SVKERN_H_ 20 | #define SVKERN_H_ 21 | 22 | #include FT_INTERNAL_SERVICE_H 23 | #include FT_TRUETYPE_TABLES_H 24 | 25 | 26 | FT_BEGIN_HEADER 27 | 28 | #define FT_SERVICE_ID_KERNING "kerning" 29 | 30 | 31 | typedef FT_Error 32 | (*FT_Kerning_TrackGetFunc)( FT_Face face, 33 | FT_Fixed point_size, 34 | FT_Int degree, 35 | FT_Fixed* akerning ); 36 | 37 | FT_DEFINE_SERVICE( Kerning ) 38 | { 39 | FT_Kerning_TrackGetFunc get_track; 40 | }; 41 | 42 | /* */ 43 | 44 | 45 | FT_END_HEADER 46 | 47 | 48 | #endif /* SVKERN_H_ */ 49 | 50 | 51 | /* END */ 52 | -------------------------------------------------------------------------------- /deps/freetype/internal/services/svotval.h: -------------------------------------------------------------------------------- 1 | /**************************************************************************** 2 | * 3 | * svotval.h 4 | * 5 | * The FreeType OpenType validation service (specification). 6 | * 7 | * Copyright (C) 2004-2020 by 8 | * David Turner, Robert Wilhelm, and Werner Lemberg. 9 | * 10 | * This file is part of the FreeType project, and may only be used, 11 | * modified, and distributed under the terms of the FreeType project 12 | * license, LICENSE.TXT. By continuing to use, modify, or distribute 13 | * this file you indicate that you have read the license and 14 | * understand and accept it fully. 15 | * 16 | */ 17 | 18 | 19 | #ifndef SVOTVAL_H_ 20 | #define SVOTVAL_H_ 21 | 22 | #include FT_OPENTYPE_VALIDATE_H 23 | #include FT_INTERNAL_VALIDATE_H 24 | 25 | FT_BEGIN_HEADER 26 | 27 | 28 | #define FT_SERVICE_ID_OPENTYPE_VALIDATE "opentype-validate" 29 | 30 | 31 | typedef FT_Error 32 | (*otv_validate_func)( FT_Face volatile face, 33 | FT_UInt ot_flags, 34 | FT_Bytes *base, 35 | FT_Bytes *gdef, 36 | FT_Bytes *gpos, 37 | FT_Bytes *gsub, 38 | FT_Bytes *jstf ); 39 | 40 | 41 | FT_DEFINE_SERVICE( OTvalidate ) 42 | { 43 | otv_validate_func validate; 44 | }; 45 | 46 | /* */ 47 | 48 | 49 | FT_END_HEADER 50 | 51 | 52 | #endif /* SVOTVAL_H_ */ 53 | 54 | 55 | /* END */ 56 | -------------------------------------------------------------------------------- /deps/freetype/internal/services/svpfr.h: -------------------------------------------------------------------------------- 1 | /**************************************************************************** 2 | * 3 | * svpfr.h 4 | * 5 | * Internal PFR service functions (specification). 6 | * 7 | * Copyright (C) 2003-2020 by 8 | * David Turner, Robert Wilhelm, and Werner Lemberg. 9 | * 10 | * This file is part of the FreeType project, and may only be used, 11 | * modified, and distributed under the terms of the FreeType project 12 | * license, LICENSE.TXT. By continuing to use, modify, or distribute 13 | * this file you indicate that you have read the license and 14 | * understand and accept it fully. 15 | * 16 | */ 17 | 18 | 19 | #ifndef SVPFR_H_ 20 | #define SVPFR_H_ 21 | 22 | #include FT_PFR_H 23 | #include FT_INTERNAL_SERVICE_H 24 | 25 | 26 | FT_BEGIN_HEADER 27 | 28 | 29 | #define FT_SERVICE_ID_PFR_METRICS "pfr-metrics" 30 | 31 | 32 | typedef FT_Error 33 | (*FT_PFR_GetMetricsFunc)( FT_Face face, 34 | FT_UInt *aoutline, 35 | FT_UInt *ametrics, 36 | FT_Fixed *ax_scale, 37 | FT_Fixed *ay_scale ); 38 | 39 | typedef FT_Error 40 | (*FT_PFR_GetKerningFunc)( FT_Face face, 41 | FT_UInt left, 42 | FT_UInt right, 43 | FT_Vector *avector ); 44 | 45 | typedef FT_Error 46 | (*FT_PFR_GetAdvanceFunc)( FT_Face face, 47 | FT_UInt gindex, 48 | FT_Pos *aadvance ); 49 | 50 | 51 | FT_DEFINE_SERVICE( PfrMetrics ) 52 | { 53 | FT_PFR_GetMetricsFunc get_metrics; 54 | FT_PFR_GetKerningFunc get_kerning; 55 | FT_PFR_GetAdvanceFunc get_advance; 56 | 57 | }; 58 | 59 | /* */ 60 | 61 | FT_END_HEADER 62 | 63 | #endif /* SVPFR_H_ */ 64 | 65 | 66 | /* END */ 67 | -------------------------------------------------------------------------------- /deps/freetype/internal/services/svpostnm.h: -------------------------------------------------------------------------------- 1 | /**************************************************************************** 2 | * 3 | * svpostnm.h 4 | * 5 | * The FreeType PostScript name services (specification). 6 | * 7 | * Copyright (C) 2003-2020 by 8 | * David Turner, Robert Wilhelm, and Werner Lemberg. 9 | * 10 | * This file is part of the FreeType project, and may only be used, 11 | * modified, and distributed under the terms of the FreeType project 12 | * license, LICENSE.TXT. By continuing to use, modify, or distribute 13 | * this file you indicate that you have read the license and 14 | * understand and accept it fully. 15 | * 16 | */ 17 | 18 | 19 | #ifndef SVPOSTNM_H_ 20 | #define SVPOSTNM_H_ 21 | 22 | #include FT_INTERNAL_SERVICE_H 23 | 24 | 25 | FT_BEGIN_HEADER 26 | 27 | /* 28 | * A trivial service used to retrieve the PostScript name of a given font 29 | * when available. The `get_name' field should never be `NULL`. 30 | * 31 | * The corresponding function can return `NULL` to indicate that the 32 | * PostScript name is not available. 33 | * 34 | * The name is owned by the face and will be destroyed with it. 35 | */ 36 | 37 | #define FT_SERVICE_ID_POSTSCRIPT_FONT_NAME "postscript-font-name" 38 | 39 | 40 | typedef const char* 41 | (*FT_PsName_GetFunc)( FT_Face face ); 42 | 43 | 44 | FT_DEFINE_SERVICE( PsFontName ) 45 | { 46 | FT_PsName_GetFunc get_ps_font_name; 47 | }; 48 | 49 | 50 | #define FT_DEFINE_SERVICE_PSFONTNAMEREC( class_, get_ps_font_name_ ) \ 51 | static const FT_Service_PsFontNameRec class_ = \ 52 | { \ 53 | get_ps_font_name_ \ 54 | }; 55 | 56 | /* */ 57 | 58 | 59 | FT_END_HEADER 60 | 61 | 62 | #endif /* SVPOSTNM_H_ */ 63 | 64 | 65 | /* END */ 66 | -------------------------------------------------------------------------------- /deps/freetype/internal/services/svprop.h: -------------------------------------------------------------------------------- 1 | /**************************************************************************** 2 | * 3 | * svprop.h 4 | * 5 | * The FreeType property service (specification). 6 | * 7 | * Copyright (C) 2012-2020 by 8 | * David Turner, Robert Wilhelm, and Werner Lemberg. 9 | * 10 | * This file is part of the FreeType project, and may only be used, 11 | * modified, and distributed under the terms of the FreeType project 12 | * license, LICENSE.TXT. By continuing to use, modify, or distribute 13 | * this file you indicate that you have read the license and 14 | * understand and accept it fully. 15 | * 16 | */ 17 | 18 | 19 | #ifndef SVPROP_H_ 20 | #define SVPROP_H_ 21 | 22 | 23 | FT_BEGIN_HEADER 24 | 25 | 26 | #define FT_SERVICE_ID_PROPERTIES "properties" 27 | 28 | 29 | typedef FT_Error 30 | (*FT_Properties_SetFunc)( FT_Module module, 31 | const char* property_name, 32 | const void* value, 33 | FT_Bool value_is_string ); 34 | 35 | typedef FT_Error 36 | (*FT_Properties_GetFunc)( FT_Module module, 37 | const char* property_name, 38 | void* value ); 39 | 40 | 41 | FT_DEFINE_SERVICE( Properties ) 42 | { 43 | FT_Properties_SetFunc set_property; 44 | FT_Properties_GetFunc get_property; 45 | }; 46 | 47 | 48 | #define FT_DEFINE_SERVICE_PROPERTIESREC( class_, \ 49 | set_property_, \ 50 | get_property_ ) \ 51 | static const FT_Service_PropertiesRec class_ = \ 52 | { \ 53 | set_property_, \ 54 | get_property_ \ 55 | }; 56 | 57 | /* */ 58 | 59 | 60 | FT_END_HEADER 61 | 62 | 63 | #endif /* SVPROP_H_ */ 64 | 65 | 66 | /* END */ 67 | -------------------------------------------------------------------------------- /deps/freetype/internal/services/svtteng.h: -------------------------------------------------------------------------------- 1 | /**************************************************************************** 2 | * 3 | * svtteng.h 4 | * 5 | * The FreeType TrueType engine query service (specification). 6 | * 7 | * Copyright (C) 2006-2020 by 8 | * David Turner, Robert Wilhelm, and Werner Lemberg. 9 | * 10 | * This file is part of the FreeType project, and may only be used, 11 | * modified, and distributed under the terms of the FreeType project 12 | * license, LICENSE.TXT. By continuing to use, modify, or distribute 13 | * this file you indicate that you have read the license and 14 | * understand and accept it fully. 15 | * 16 | */ 17 | 18 | 19 | #ifndef SVTTENG_H_ 20 | #define SVTTENG_H_ 21 | 22 | #include FT_INTERNAL_SERVICE_H 23 | #include FT_MODULE_H 24 | 25 | 26 | FT_BEGIN_HEADER 27 | 28 | 29 | /* 30 | * SFNT table loading service. 31 | */ 32 | 33 | #define FT_SERVICE_ID_TRUETYPE_ENGINE "truetype-engine" 34 | 35 | /* 36 | * Used to implement FT_Get_TrueType_Engine_Type 37 | */ 38 | 39 | FT_DEFINE_SERVICE( TrueTypeEngine ) 40 | { 41 | FT_TrueTypeEngineType engine_type; 42 | }; 43 | 44 | /* */ 45 | 46 | 47 | FT_END_HEADER 48 | 49 | 50 | #endif /* SVTTENG_H_ */ 51 | 52 | 53 | /* END */ 54 | -------------------------------------------------------------------------------- /deps/freetype/internal/services/svttglyf.h: -------------------------------------------------------------------------------- 1 | /**************************************************************************** 2 | * 3 | * svttglyf.h 4 | * 5 | * The FreeType TrueType glyph service. 6 | * 7 | * Copyright (C) 2007-2020 by 8 | * David Turner. 9 | * 10 | * This file is part of the FreeType project, and may only be used, 11 | * modified, and distributed under the terms of the FreeType project 12 | * license, LICENSE.TXT. By continuing to use, modify, or distribute 13 | * this file you indicate that you have read the license and 14 | * understand and accept it fully. 15 | * 16 | */ 17 | 18 | #ifndef SVTTGLYF_H_ 19 | #define SVTTGLYF_H_ 20 | 21 | #include FT_INTERNAL_SERVICE_H 22 | #include FT_TRUETYPE_TABLES_H 23 | 24 | 25 | FT_BEGIN_HEADER 26 | 27 | 28 | #define FT_SERVICE_ID_TT_GLYF "tt-glyf" 29 | 30 | 31 | typedef FT_ULong 32 | (*TT_Glyf_GetLocationFunc)( FT_Face face, 33 | FT_UInt gindex, 34 | FT_ULong *psize ); 35 | 36 | FT_DEFINE_SERVICE( TTGlyf ) 37 | { 38 | TT_Glyf_GetLocationFunc get_location; 39 | }; 40 | 41 | 42 | #define FT_DEFINE_SERVICE_TTGLYFREC( class_, get_location_ ) \ 43 | static const FT_Service_TTGlyfRec class_ = \ 44 | { \ 45 | get_location_ \ 46 | }; 47 | 48 | /* */ 49 | 50 | 51 | FT_END_HEADER 52 | 53 | #endif /* SVTTGLYF_H_ */ 54 | 55 | 56 | /* END */ 57 | -------------------------------------------------------------------------------- /deps/freetype/internal/services/svwinfnt.h: -------------------------------------------------------------------------------- 1 | /**************************************************************************** 2 | * 3 | * svwinfnt.h 4 | * 5 | * The FreeType Windows FNT/FONT service (specification). 6 | * 7 | * Copyright (C) 2003-2020 by 8 | * David Turner, Robert Wilhelm, and Werner Lemberg. 9 | * 10 | * This file is part of the FreeType project, and may only be used, 11 | * modified, and distributed under the terms of the FreeType project 12 | * license, LICENSE.TXT. By continuing to use, modify, or distribute 13 | * this file you indicate that you have read the license and 14 | * understand and accept it fully. 15 | * 16 | */ 17 | 18 | 19 | #ifndef SVWINFNT_H_ 20 | #define SVWINFNT_H_ 21 | 22 | #include FT_INTERNAL_SERVICE_H 23 | #include FT_WINFONTS_H 24 | 25 | 26 | FT_BEGIN_HEADER 27 | 28 | 29 | #define FT_SERVICE_ID_WINFNT "winfonts" 30 | 31 | typedef FT_Error 32 | (*FT_WinFnt_GetHeaderFunc)( FT_Face face, 33 | FT_WinFNT_HeaderRec *aheader ); 34 | 35 | 36 | FT_DEFINE_SERVICE( WinFnt ) 37 | { 38 | FT_WinFnt_GetHeaderFunc get_header; 39 | }; 40 | 41 | /* */ 42 | 43 | 44 | FT_END_HEADER 45 | 46 | 47 | #endif /* SVWINFNT_H_ */ 48 | 49 | 50 | /* END */ 51 | -------------------------------------------------------------------------------- /deps/freetype/src/autofit/afangles.h: -------------------------------------------------------------------------------- 1 | /* 2 | * afangles.h 3 | * 4 | * This is a dummy file, used to please the build system. It is never 5 | * included by the auto-fitter sources. 6 | * 7 | */ 8 | -------------------------------------------------------------------------------- /deps/freetype/src/autofit/afblue.cin: -------------------------------------------------------------------------------- 1 | /**************************************************************************** 2 | * 3 | * afblue.c 4 | * 5 | * Auto-fitter data for blue strings (body). 6 | * 7 | * Copyright (C) 2013-2020 by 8 | * David Turner, Robert Wilhelm, and Werner Lemberg. 9 | * 10 | * This file is part of the FreeType project, and may only be used, 11 | * modified, and distributed under the terms of the FreeType project 12 | * license, LICENSE.TXT. By continuing to use, modify, or distribute 13 | * this file you indicate that you have read the license and 14 | * understand and accept it fully. 15 | * 16 | */ 17 | 18 | 19 | #include "aftypes.h" 20 | 21 | 22 | FT_LOCAL_ARRAY_DEF( char ) 23 | af_blue_strings[] = 24 | { 25 | /* */ 26 | @AF_BLUE_STRINGS_ARRAY@ 27 | }; 28 | 29 | 30 | /* stringsets are specific to styles */ 31 | FT_LOCAL_ARRAY_DEF( AF_Blue_StringRec ) 32 | af_blue_stringsets[] = 33 | { 34 | /* */ 35 | @AF_BLUE_STRINGSETS_ARRAY@ 36 | }; 37 | 38 | 39 | /* END */ 40 | -------------------------------------------------------------------------------- /deps/freetype/src/autofit/afdummy.h: -------------------------------------------------------------------------------- 1 | /**************************************************************************** 2 | * 3 | * afdummy.h 4 | * 5 | * Auto-fitter dummy routines to be used if no hinting should be 6 | * performed (specification). 7 | * 8 | * Copyright (C) 2003-2020 by 9 | * David Turner, Robert Wilhelm, and Werner Lemberg. 10 | * 11 | * This file is part of the FreeType project, and may only be used, 12 | * modified, and distributed under the terms of the FreeType project 13 | * license, LICENSE.TXT. By continuing to use, modify, or distribute 14 | * this file you indicate that you have read the license and 15 | * understand and accept it fully. 16 | * 17 | */ 18 | 19 | 20 | #ifndef AFDUMMY_H_ 21 | #define AFDUMMY_H_ 22 | 23 | #include "aftypes.h" 24 | 25 | 26 | FT_BEGIN_HEADER 27 | 28 | /* A dummy writing system used when no hinting should be performed. */ 29 | 30 | AF_DECLARE_WRITING_SYSTEM_CLASS( af_dummy_writing_system_class ) 31 | 32 | /* */ 33 | 34 | FT_END_HEADER 35 | 36 | 37 | #endif /* AFDUMMY_H_ */ 38 | 39 | 40 | /* END */ 41 | -------------------------------------------------------------------------------- /deps/freetype/src/autofit/aferrors.h: -------------------------------------------------------------------------------- 1 | /**************************************************************************** 2 | * 3 | * aferrors.h 4 | * 5 | * Autofitter error codes (specification only). 6 | * 7 | * Copyright (C) 2005-2020 by 8 | * David Turner, Robert Wilhelm, and Werner Lemberg. 9 | * 10 | * This file is part of the FreeType project, and may only be used, 11 | * modified, and distributed under the terms of the FreeType project 12 | * license, LICENSE.TXT. By continuing to use, modify, or distribute 13 | * this file you indicate that you have read the license and 14 | * understand and accept it fully. 15 | * 16 | */ 17 | 18 | 19 | /************************************************************************** 20 | * 21 | * This file is used to define the Autofitter error enumeration 22 | * constants. 23 | * 24 | */ 25 | 26 | #ifndef AFERRORS_H_ 27 | #define AFERRORS_H_ 28 | 29 | #include FT_MODULE_ERRORS_H 30 | 31 | #undef FTERRORS_H_ 32 | 33 | #undef FT_ERR_PREFIX 34 | #define FT_ERR_PREFIX AF_Err_ 35 | #define FT_ERR_BASE FT_Mod_Err_Autofit 36 | 37 | #include FT_ERRORS_H 38 | 39 | #endif /* AFERRORS_H_ */ 40 | 41 | 42 | /* END */ 43 | -------------------------------------------------------------------------------- /deps/freetype/src/autofit/afindic.h: -------------------------------------------------------------------------------- 1 | /**************************************************************************** 2 | * 3 | * afindic.h 4 | * 5 | * Auto-fitter hinting routines for Indic writing system 6 | * (specification). 7 | * 8 | * Copyright (C) 2007-2020 by 9 | * Rahul Bhalerao , . 10 | * 11 | * This file is part of the FreeType project, and may only be used, 12 | * modified, and distributed under the terms of the FreeType project 13 | * license, LICENSE.TXT. By continuing to use, modify, or distribute 14 | * this file you indicate that you have read the license and 15 | * understand and accept it fully. 16 | * 17 | */ 18 | 19 | 20 | #ifndef AFINDIC_H_ 21 | #define AFINDIC_H_ 22 | 23 | #include "afhints.h" 24 | 25 | 26 | FT_BEGIN_HEADER 27 | 28 | 29 | /* the `indic' writing system */ 30 | 31 | AF_DECLARE_WRITING_SYSTEM_CLASS( af_indic_writing_system_class ) 32 | 33 | 34 | /* */ 35 | 36 | FT_END_HEADER 37 | 38 | #endif /* AFINDIC_H_ */ 39 | 40 | 41 | /* END */ 42 | -------------------------------------------------------------------------------- /deps/freetype/src/autofit/aflatin2.h: -------------------------------------------------------------------------------- 1 | /* ATTENTION: This file doesn't compile. It is only here as a reference */ 2 | /* of an alternative latin hinting algorithm that was always */ 3 | /* marked as experimental. */ 4 | 5 | 6 | /**************************************************************************** 7 | * 8 | * aflatin2.h 9 | * 10 | * Auto-fitter hinting routines for latin writing system 11 | * (specification). 12 | * 13 | * Copyright (C) 2003-2020 by 14 | * David Turner, Robert Wilhelm, and Werner Lemberg. 15 | * 16 | * This file is part of the FreeType project, and may only be used, 17 | * modified, and distributed under the terms of the FreeType project 18 | * license, LICENSE.TXT. By continuing to use, modify, or distribute 19 | * this file you indicate that you have read the license and 20 | * understand and accept it fully. 21 | * 22 | */ 23 | 24 | 25 | #ifndef AFLATIN2_H_ 26 | #define AFLATIN2_H_ 27 | 28 | #include "afhints.h" 29 | 30 | 31 | FT_BEGIN_HEADER 32 | 33 | 34 | /* the `latin' writing system */ 35 | 36 | AF_DECLARE_WRITING_SYSTEM_CLASS( af_latin2_writing_system_class ) 37 | 38 | 39 | /* */ 40 | 41 | FT_END_HEADER 42 | 43 | #endif /* AFLATIN_H_ */ 44 | 45 | 46 | /* END */ 47 | -------------------------------------------------------------------------------- /deps/freetype/src/autofit/afmodule.h: -------------------------------------------------------------------------------- 1 | /**************************************************************************** 2 | * 3 | * afmodule.h 4 | * 5 | * Auto-fitter module implementation (specification). 6 | * 7 | * Copyright (C) 2003-2020 by 8 | * David Turner, Robert Wilhelm, and Werner Lemberg. 9 | * 10 | * This file is part of the FreeType project, and may only be used, 11 | * modified, and distributed under the terms of the FreeType project 12 | * license, LICENSE.TXT. By continuing to use, modify, or distribute 13 | * this file you indicate that you have read the license and 14 | * understand and accept it fully. 15 | * 16 | */ 17 | 18 | 19 | #ifndef AFMODULE_H_ 20 | #define AFMODULE_H_ 21 | 22 | #include 23 | #include FT_INTERNAL_OBJECTS_H 24 | #include FT_MODULE_H 25 | 26 | 27 | FT_BEGIN_HEADER 28 | 29 | 30 | /* 31 | * This is the `extended' FT_Module structure that holds the 32 | * autofitter's global data. 33 | */ 34 | 35 | typedef struct AF_ModuleRec_ 36 | { 37 | FT_ModuleRec root; 38 | 39 | FT_UInt fallback_style; 40 | FT_UInt default_script; 41 | #ifdef AF_CONFIG_OPTION_USE_WARPER 42 | FT_Bool warping; 43 | #endif 44 | FT_Bool no_stem_darkening; 45 | FT_Int darken_params[8]; 46 | 47 | } AF_ModuleRec, *AF_Module; 48 | 49 | 50 | FT_DECLARE_MODULE( autofit_module_class ) 51 | 52 | 53 | FT_END_HEADER 54 | 55 | #endif /* AFMODULE_H_ */ 56 | 57 | 58 | /* END */ 59 | -------------------------------------------------------------------------------- /deps/freetype/src/autofit/afranges.h: -------------------------------------------------------------------------------- 1 | /**************************************************************************** 2 | * 3 | * afranges.h 4 | * 5 | * Auto-fitter Unicode script ranges (specification). 6 | * 7 | * Copyright (C) 2013-2020 by 8 | * David Turner, Robert Wilhelm, and Werner Lemberg. 9 | * 10 | * This file is part of the FreeType project, and may only be used, 11 | * modified, and distributed under the terms of the FreeType project 12 | * license, LICENSE.TXT. By continuing to use, modify, or distribute 13 | * this file you indicate that you have read the license and 14 | * understand and accept it fully. 15 | * 16 | */ 17 | 18 | 19 | #ifndef AFRANGES_H_ 20 | #define AFRANGES_H_ 21 | 22 | 23 | #include "aftypes.h" 24 | 25 | 26 | FT_BEGIN_HEADER 27 | 28 | #undef SCRIPT 29 | #define SCRIPT( s, S, d, h, H, ss ) \ 30 | extern const AF_Script_UniRangeRec af_ ## s ## _uniranges[]; 31 | 32 | #include "afscript.h" 33 | 34 | #undef SCRIPT 35 | #define SCRIPT( s, S, d, h, H, ss ) \ 36 | extern const AF_Script_UniRangeRec af_ ## s ## _nonbase_uniranges[]; 37 | 38 | #include "afscript.h" 39 | 40 | /* */ 41 | 42 | FT_END_HEADER 43 | 44 | #endif /* AFRANGES_H_ */ 45 | 46 | 47 | /* END */ 48 | -------------------------------------------------------------------------------- /deps/freetype/src/autofit/afwarp.h: -------------------------------------------------------------------------------- 1 | /**************************************************************************** 2 | * 3 | * afwarp.h 4 | * 5 | * Auto-fitter warping algorithm (specification). 6 | * 7 | * Copyright (C) 2006-2020 by 8 | * David Turner, Robert Wilhelm, and Werner Lemberg. 9 | * 10 | * This file is part of the FreeType project, and may only be used, 11 | * modified, and distributed under the terms of the FreeType project 12 | * license, LICENSE.TXT. By continuing to use, modify, or distribute 13 | * this file you indicate that you have read the license and 14 | * understand and accept it fully. 15 | * 16 | */ 17 | 18 | 19 | #ifndef AFWARP_H_ 20 | #define AFWARP_H_ 21 | 22 | #include "afhints.h" 23 | 24 | FT_BEGIN_HEADER 25 | 26 | #define AF_WARPER_SCALE 27 | 28 | #define AF_WARPER_FLOOR( x ) ( (x) & ~FT_TYPEOF( x )63 ) 29 | #define AF_WARPER_CEIL( x ) AF_WARPER_FLOOR( (x) + 63 ) 30 | 31 | 32 | typedef FT_Int32 AF_WarpScore; 33 | 34 | typedef struct AF_WarperRec_ 35 | { 36 | FT_Pos x1, x2; 37 | FT_Pos t1, t2; 38 | FT_Pos x1min, x1max; 39 | FT_Pos x2min, x2max; 40 | FT_Pos w0, wmin, wmax; 41 | 42 | FT_Fixed best_scale; 43 | FT_Pos best_delta; 44 | AF_WarpScore best_score; 45 | AF_WarpScore best_distort; 46 | 47 | } AF_WarperRec, *AF_Warper; 48 | 49 | 50 | #ifdef AF_CONFIG_OPTION_USE_WARPER 51 | FT_LOCAL( void ) 52 | af_warper_compute( AF_Warper warper, 53 | AF_GlyphHints hints, 54 | AF_Dimension dim, 55 | FT_Fixed *a_scale, 56 | FT_Pos *a_delta ); 57 | #endif 58 | 59 | 60 | FT_END_HEADER 61 | 62 | 63 | #endif /* AFWARP_H_ */ 64 | 65 | 66 | /* END */ 67 | -------------------------------------------------------------------------------- /deps/freetype/src/autofit/afwrtsys.h: -------------------------------------------------------------------------------- 1 | /**************************************************************************** 2 | * 3 | * afwrtsys.h 4 | * 5 | * Auto-fitter writing systems (specification only). 6 | * 7 | * Copyright (C) 2013-2020 by 8 | * David Turner, Robert Wilhelm, and Werner Lemberg. 9 | * 10 | * This file is part of the FreeType project, and may only be used, 11 | * modified, and distributed under the terms of the FreeType project 12 | * license, LICENSE.TXT. By continuing to use, modify, or distribute 13 | * this file you indicate that you have read the license and 14 | * understand and accept it fully. 15 | * 16 | */ 17 | 18 | 19 | #ifndef AFWRTSYS_H_ 20 | #define AFWRTSYS_H_ 21 | 22 | /* Since preprocessor directives can't create other preprocessor */ 23 | /* directives, we have to include the header files manually. */ 24 | 25 | #include "afdummy.h" 26 | #include "aflatin.h" 27 | #include "afcjk.h" 28 | #include "afindic.h" 29 | #ifdef FT_OPTION_AUTOFIT2 30 | #include "aflatin2.h" 31 | #endif 32 | 33 | #endif /* AFWRTSYS_H_ */ 34 | 35 | 36 | /* The following part can be included multiple times. */ 37 | /* Define `WRITING_SYSTEM' as needed. */ 38 | 39 | 40 | /* Add new writing systems here. The arguments are the writing system */ 41 | /* name in lowercase and uppercase, respectively. */ 42 | 43 | WRITING_SYSTEM( dummy, DUMMY ) 44 | WRITING_SYSTEM( latin, LATIN ) 45 | WRITING_SYSTEM( cjk, CJK ) 46 | WRITING_SYSTEM( indic, INDIC ) 47 | #ifdef FT_OPTION_AUTOFIT2 48 | WRITING_SYSTEM( latin2, LATIN2 ) 49 | #endif 50 | 51 | 52 | /* END */ 53 | -------------------------------------------------------------------------------- /deps/freetype/src/autofit/autofit.c: -------------------------------------------------------------------------------- 1 | /**************************************************************************** 2 | * 3 | * autofit.c 4 | * 5 | * Auto-fitter module (body). 6 | * 7 | * Copyright (C) 2003-2020 by 8 | * David Turner, Robert Wilhelm, and Werner Lemberg. 9 | * 10 | * This file is part of the FreeType project, and may only be used, 11 | * modified, and distributed under the terms of the FreeType project 12 | * license, LICENSE.TXT. By continuing to use, modify, or distribute 13 | * this file you indicate that you have read the license and 14 | * understand and accept it fully. 15 | * 16 | */ 17 | 18 | 19 | #define FT_MAKE_OPTION_SINGLE_OBJECT 20 | #include 21 | 22 | #include "afangles.c" 23 | #include "afblue.c" 24 | #include "afcjk.c" 25 | #include "afdummy.c" 26 | #include "afglobal.c" 27 | #include "afhints.c" 28 | #include "afindic.c" 29 | #include "aflatin.c" 30 | #include "aflatin2.c" 31 | #include "afloader.c" 32 | #include "afmodule.c" 33 | #include "afranges.c" 34 | #include "afshaper.c" 35 | #include "afwarp.c" 36 | 37 | 38 | /* END */ 39 | -------------------------------------------------------------------------------- /deps/freetype/src/base/ftbase.c: -------------------------------------------------------------------------------- 1 | /**************************************************************************** 2 | * 3 | * ftbase.c 4 | * 5 | * Single object library component (body only). 6 | * 7 | * Copyright (C) 1996-2020 by 8 | * David Turner, Robert Wilhelm, and Werner Lemberg. 9 | * 10 | * This file is part of the FreeType project, and may only be used, 11 | * modified, and distributed under the terms of the FreeType project 12 | * license, LICENSE.TXT. By continuing to use, modify, or distribute 13 | * this file you indicate that you have read the license and 14 | * understand and accept it fully. 15 | * 16 | */ 17 | 18 | 19 | #include 20 | #define FT_MAKE_OPTION_SINGLE_OBJECT 21 | 22 | #include "ftadvanc.c" 23 | #include "ftcalc.c" 24 | #include "ftcolor.c" 25 | #include "ftdbgmem.c" 26 | #include "fterrors.c" 27 | #include "ftfntfmt.c" 28 | #include "ftgloadr.c" 29 | #include "fthash.c" 30 | #include "ftlcdfil.c" 31 | #include "ftmac.c" 32 | #include "ftobjs.c" 33 | #include "ftoutln.c" 34 | #include "ftpsprop.c" 35 | #include "ftrfork.c" 36 | #include "ftsnames.c" 37 | #include "ftstream.c" 38 | #include "fttrigon.c" 39 | #include "ftutil.c" 40 | 41 | 42 | /* END */ 43 | -------------------------------------------------------------------------------- /deps/freetype/src/base/fterrors.c: -------------------------------------------------------------------------------- 1 | /**************************************************************************** 2 | * 3 | * fterrors.c 4 | * 5 | * FreeType API for error code handling. 6 | * 7 | * Copyright (C) 2018-2020 by 8 | * Armin Hasitzka, David Turner, Robert Wilhelm, and Werner Lemberg. 9 | * 10 | * This file is part of the FreeType project, and may only be used, 11 | * modified, and distributed under the terms of the FreeType project 12 | * license, LICENSE.TXT. By continuing to use, modify, or distribute 13 | * this file you indicate that you have read the license and 14 | * understand and accept it fully. 15 | * 16 | */ 17 | 18 | 19 | #include 20 | #include FT_INTERNAL_DEBUG_H 21 | #include FT_ERRORS_H 22 | 23 | 24 | /* documentation is in fterrors.h */ 25 | 26 | FT_EXPORT_DEF( const char* ) 27 | FT_Error_String( FT_Error error_code ) 28 | { 29 | if ( error_code < 0 || 30 | error_code >= FT_ERR_CAT( FT_ERR_PREFIX, Max ) ) 31 | return NULL; 32 | 33 | #if defined( FT_CONFIG_OPTION_ERROR_STRINGS ) || \ 34 | defined( FT_DEBUG_LEVEL_ERROR ) 35 | 36 | #undef FTERRORS_H_ 37 | #define FT_ERROR_START_LIST switch ( FT_ERROR_BASE( error_code ) ) { 38 | #define FT_ERRORDEF( e, v, s ) case v: return s; 39 | #define FT_ERROR_END_LIST } 40 | 41 | #include FT_ERRORS_H 42 | 43 | #endif /* defined( FT_CONFIG_OPTION_ERROR_STRINGS ) || ... */ 44 | 45 | return NULL; 46 | } 47 | -------------------------------------------------------------------------------- /deps/freetype/src/base/ftfntfmt.c: -------------------------------------------------------------------------------- 1 | /**************************************************************************** 2 | * 3 | * ftfntfmt.c 4 | * 5 | * FreeType utility file for font formats (body). 6 | * 7 | * Copyright (C) 2002-2020 by 8 | * David Turner, Robert Wilhelm, and Werner Lemberg. 9 | * 10 | * This file is part of the FreeType project, and may only be used, 11 | * modified, and distributed under the terms of the FreeType project 12 | * license, LICENSE.TXT. By continuing to use, modify, or distribute 13 | * this file you indicate that you have read the license and 14 | * understand and accept it fully. 15 | * 16 | */ 17 | 18 | 19 | #include 20 | #include FT_FONT_FORMATS_H 21 | #include FT_INTERNAL_OBJECTS_H 22 | #include FT_SERVICE_FONT_FORMAT_H 23 | 24 | 25 | /* documentation is in ftfntfmt.h */ 26 | 27 | FT_EXPORT_DEF( const char* ) 28 | FT_Get_Font_Format( FT_Face face ) 29 | { 30 | const char* result = NULL; 31 | 32 | 33 | if ( face ) 34 | FT_FACE_FIND_SERVICE( face, result, FONT_FORMAT ); 35 | 36 | return result; 37 | } 38 | 39 | 40 | /* deprecated function name; retained for ABI compatibility */ 41 | 42 | FT_EXPORT_DEF( const char* ) 43 | FT_Get_X11_Font_Format( FT_Face face ) 44 | { 45 | const char* result = NULL; 46 | 47 | 48 | if ( face ) 49 | FT_FACE_FIND_SERVICE( face, result, FONT_FORMAT ); 50 | 51 | return result; 52 | } 53 | 54 | 55 | /* END */ 56 | -------------------------------------------------------------------------------- /deps/freetype/src/base/ftfstype.c: -------------------------------------------------------------------------------- 1 | /**************************************************************************** 2 | * 3 | * ftfstype.c 4 | * 5 | * FreeType utility file to access FSType data (body). 6 | * 7 | * Copyright (C) 2008-2020 by 8 | * David Turner, Robert Wilhelm, and Werner Lemberg. 9 | * 10 | * This file is part of the FreeType project, and may only be used, 11 | * modified, and distributed under the terms of the FreeType project 12 | * license, LICENSE.TXT. By continuing to use, modify, or distribute 13 | * this file you indicate that you have read the license and 14 | * understand and accept it fully. 15 | * 16 | */ 17 | 18 | #include 19 | #include FT_TYPE1_TABLES_H 20 | #include FT_TRUETYPE_TABLES_H 21 | #include FT_INTERNAL_SERVICE_H 22 | #include FT_SERVICE_POSTSCRIPT_INFO_H 23 | 24 | 25 | /* documentation is in freetype.h */ 26 | 27 | FT_EXPORT_DEF( FT_UShort ) 28 | FT_Get_FSType_Flags( FT_Face face ) 29 | { 30 | TT_OS2* os2; 31 | 32 | 33 | /* first, try to get the fs_type directly from the font */ 34 | if ( face ) 35 | { 36 | FT_Service_PsInfo service = NULL; 37 | 38 | 39 | FT_FACE_FIND_SERVICE( face, service, POSTSCRIPT_INFO ); 40 | 41 | if ( service && service->ps_get_font_extra ) 42 | { 43 | PS_FontExtraRec extra; 44 | 45 | 46 | if ( !service->ps_get_font_extra( face, &extra ) && 47 | extra.fs_type != 0 ) 48 | return extra.fs_type; 49 | } 50 | } 51 | 52 | /* look at FSType before fsType for Type42 */ 53 | 54 | if ( ( os2 = (TT_OS2*)FT_Get_Sfnt_Table( face, FT_SFNT_OS2 ) ) != NULL && 55 | os2->version != 0xFFFFU ) 56 | return os2->fsType; 57 | 58 | return 0; 59 | } 60 | 61 | 62 | /* END */ 63 | -------------------------------------------------------------------------------- /deps/freetype/src/base/ftgasp.c: -------------------------------------------------------------------------------- 1 | /**************************************************************************** 2 | * 3 | * ftgasp.c 4 | * 5 | * Access of TrueType's `gasp' table (body). 6 | * 7 | * Copyright (C) 2007-2020 by 8 | * David Turner, Robert Wilhelm, and Werner Lemberg. 9 | * 10 | * This file is part of the FreeType project, and may only be used, 11 | * modified, and distributed under the terms of the FreeType project 12 | * license, LICENSE.TXT. By continuing to use, modify, or distribute 13 | * this file you indicate that you have read the license and 14 | * understand and accept it fully. 15 | * 16 | */ 17 | 18 | 19 | #include 20 | #include FT_GASP_H 21 | #include FT_INTERNAL_TRUETYPE_TYPES_H 22 | 23 | 24 | FT_EXPORT_DEF( FT_Int ) 25 | FT_Get_Gasp( FT_Face face, 26 | FT_UInt ppem ) 27 | { 28 | FT_Int result = FT_GASP_NO_TABLE; 29 | 30 | 31 | if ( face && FT_IS_SFNT( face ) ) 32 | { 33 | TT_Face ttface = (TT_Face)face; 34 | 35 | 36 | if ( ttface->gasp.numRanges > 0 ) 37 | { 38 | TT_GaspRange range = ttface->gasp.gaspRanges; 39 | TT_GaspRange range_end = range + ttface->gasp.numRanges; 40 | 41 | 42 | while ( ppem > range->maxPPEM ) 43 | { 44 | range++; 45 | if ( range >= range_end ) 46 | goto Exit; 47 | } 48 | 49 | result = range->gaspFlag; 50 | 51 | /* ensure that we don't have spurious bits */ 52 | if ( ttface->gasp.version == 0 ) 53 | result &= 3; 54 | } 55 | } 56 | Exit: 57 | return result; 58 | } 59 | 60 | 61 | /* END */ 62 | -------------------------------------------------------------------------------- /deps/freetype/src/base/ftpatent.c: -------------------------------------------------------------------------------- 1 | /**************************************************************************** 2 | * 3 | * ftpatent.c 4 | * 5 | * FreeType API for checking patented TrueType bytecode instructions 6 | * (body). Obsolete, retained for backward compatibility. 7 | * 8 | * Copyright (C) 2007-2020 by 9 | * David Turner. 10 | * 11 | * This file is part of the FreeType project, and may only be used, 12 | * modified, and distributed under the terms of the FreeType project 13 | * license, LICENSE.TXT. By continuing to use, modify, or distribute 14 | * this file you indicate that you have read the license and 15 | * understand and accept it fully. 16 | * 17 | */ 18 | 19 | #include 20 | #include FT_FREETYPE_H 21 | #include FT_TRUETYPE_TAGS_H 22 | #include FT_INTERNAL_OBJECTS_H 23 | #include FT_INTERNAL_STREAM_H 24 | #include FT_SERVICE_SFNT_H 25 | #include FT_SERVICE_TRUETYPE_GLYF_H 26 | 27 | 28 | /* documentation is in freetype.h */ 29 | 30 | FT_EXPORT_DEF( FT_Bool ) 31 | FT_Face_CheckTrueTypePatents( FT_Face face ) 32 | { 33 | FT_UNUSED( face ); 34 | 35 | return FALSE; 36 | } 37 | 38 | 39 | /* documentation is in freetype.h */ 40 | 41 | FT_EXPORT_DEF( FT_Bool ) 42 | FT_Face_SetUnpatentedHinting( FT_Face face, 43 | FT_Bool value ) 44 | { 45 | FT_UNUSED( face ); 46 | FT_UNUSED( value ); 47 | 48 | return FALSE; 49 | } 50 | 51 | /* END */ 52 | -------------------------------------------------------------------------------- /deps/freetype/src/base/ftwinfnt.c: -------------------------------------------------------------------------------- 1 | /**************************************************************************** 2 | * 3 | * ftwinfnt.c 4 | * 5 | * FreeType API for accessing Windows FNT specific info (body). 6 | * 7 | * Copyright (C) 2003-2020 by 8 | * David Turner, Robert Wilhelm, and Werner Lemberg. 9 | * 10 | * This file is part of the FreeType project, and may only be used, 11 | * modified, and distributed under the terms of the FreeType project 12 | * license, LICENSE.TXT. By continuing to use, modify, or distribute 13 | * this file you indicate that you have read the license and 14 | * understand and accept it fully. 15 | * 16 | */ 17 | 18 | 19 | #include 20 | #include FT_INTERNAL_DEBUG_H 21 | #include FT_WINFONTS_H 22 | #include FT_INTERNAL_OBJECTS_H 23 | #include FT_SERVICE_WINFNT_H 24 | 25 | 26 | /* documentation is in ftwinfnt.h */ 27 | 28 | FT_EXPORT_DEF( FT_Error ) 29 | FT_Get_WinFNT_Header( FT_Face face, 30 | FT_WinFNT_HeaderRec *header ) 31 | { 32 | FT_Service_WinFnt service; 33 | FT_Error error; 34 | 35 | 36 | if ( !face ) 37 | return FT_THROW( Invalid_Face_Handle ); 38 | 39 | if ( !header ) 40 | return FT_THROW( Invalid_Argument ); 41 | 42 | FT_FACE_LOOKUP_SERVICE( face, service, WINFNT ); 43 | 44 | if ( service ) 45 | error = service->get_header( face, header ); 46 | else 47 | error = FT_THROW( Invalid_Argument ); 48 | 49 | return error; 50 | } 51 | 52 | 53 | /* END */ 54 | -------------------------------------------------------------------------------- /deps/freetype/src/base/md5.h: -------------------------------------------------------------------------------- 1 | /* 2 | * This is an OpenSSL-compatible implementation of the RSA Data Security, Inc. 3 | * MD5 Message-Digest Algorithm (RFC 1321). 4 | * 5 | * Homepage: 6 | * http://openwall.info/wiki/people/solar/software/public-domain-source-code/md5 7 | * 8 | * Author: 9 | * Alexander Peslyak, better known as Solar Designer 10 | * 11 | * This software was written by Alexander Peslyak in 2001. No copyright is 12 | * claimed, and the software is hereby placed in the public domain. 13 | * In case this attempt to disclaim copyright and place the software in the 14 | * public domain is deemed null and void, then the software is 15 | * Copyright (c) 2001 Alexander Peslyak and it is hereby released to the 16 | * general public under the following terms: 17 | * 18 | * Redistribution and use in source and binary forms, with or without 19 | * modification, are permitted. 20 | * 21 | * There's ABSOLUTELY NO WARRANTY, express or implied. 22 | * 23 | * See md5.c for more information. 24 | */ 25 | 26 | #ifdef HAVE_OPENSSL 27 | #include 28 | #elif !defined(_MD5_H) 29 | #define _MD5_H 30 | 31 | /* Any 32-bit or wider unsigned integer data type will do */ 32 | typedef unsigned int MD5_u32plus; 33 | 34 | typedef struct { 35 | MD5_u32plus lo, hi; 36 | MD5_u32plus a, b, c, d; 37 | unsigned char buffer[64]; 38 | MD5_u32plus block[16]; 39 | } MD5_CTX; 40 | 41 | extern void MD5_Init(MD5_CTX *ctx); 42 | extern void MD5_Update(MD5_CTX *ctx, const void *data, unsigned long size); 43 | extern void MD5_Final(unsigned char *result, MD5_CTX *ctx); 44 | 45 | #endif 46 | -------------------------------------------------------------------------------- /deps/freetype/src/bdf/bdf.c: -------------------------------------------------------------------------------- 1 | /* bdf.c 2 | 3 | FreeType font driver for bdf files 4 | 5 | Copyright (C) 2001, 2002 by 6 | Francesco Zappa Nardelli 7 | 8 | Permission is hereby granted, free of charge, to any person obtaining a copy 9 | of this software and associated documentation files (the "Software"), to deal 10 | in the Software without restriction, including without limitation the rights 11 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 12 | copies of the Software, and to permit persons to whom the Software is 13 | furnished to do so, subject to the following conditions: 14 | 15 | The above copyright notice and this permission notice shall be included in 16 | all copies or substantial portions of the Software. 17 | 18 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 19 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 20 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 21 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 22 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 23 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 24 | THE SOFTWARE. 25 | */ 26 | 27 | 28 | #define FT_MAKE_OPTION_SINGLE_OBJECT 29 | #include 30 | 31 | #include "bdflib.c" 32 | #include "bdfdrivr.c" 33 | 34 | 35 | /* END */ 36 | -------------------------------------------------------------------------------- /deps/freetype/src/bdf/bdferror.h: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2001, 2002, 2012 Francesco Zappa Nardelli 3 | * 4 | * Permission is hereby granted, free of charge, to any person obtaining a 5 | * copy of this software and associated documentation files (the "Software"), 6 | * to deal in the Software without restriction, including without limitation 7 | * the rights to use, copy, modify, merge, publish, distribute, sublicense, 8 | * and/or sell copies of the Software, and to permit persons to whom the 9 | * Software is furnished to do so, subject to the following conditions: 10 | * 11 | * The above copyright notice and this permission notice shall be included in 12 | * all copies or substantial portions of the Software. 13 | * 14 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 15 | * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 16 | * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL 17 | * THE COMPUTING RESEARCH LAB OR NEW MEXICO STATE UNIVERSITY BE LIABLE FOR ANY 18 | * CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT 19 | * OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR 20 | * THE USE OR OTHER DEALINGS IN THE SOFTWARE. 21 | */ 22 | 23 | /************************************************************************** 24 | * 25 | * This file is used to define the BDF error enumeration constants. 26 | * 27 | */ 28 | 29 | #ifndef BDFERROR_H_ 30 | #define BDFERROR_H_ 31 | 32 | #include FT_MODULE_ERRORS_H 33 | 34 | #undef FTERRORS_H_ 35 | 36 | #undef FT_ERR_PREFIX 37 | #define FT_ERR_PREFIX BDF_Err_ 38 | #define FT_ERR_BASE FT_Mod_Err_BDF 39 | 40 | #include FT_ERRORS_H 41 | 42 | #endif /* BDFERROR_H_ */ 43 | 44 | 45 | /* END */ 46 | -------------------------------------------------------------------------------- /deps/freetype/src/cache/ftcache.c: -------------------------------------------------------------------------------- 1 | /**************************************************************************** 2 | * 3 | * ftcache.c 4 | * 5 | * The FreeType Caching sub-system (body only). 6 | * 7 | * Copyright (C) 2000-2020 by 8 | * David Turner, Robert Wilhelm, and Werner Lemberg. 9 | * 10 | * This file is part of the FreeType project, and may only be used, 11 | * modified, and distributed under the terms of the FreeType project 12 | * license, LICENSE.TXT. By continuing to use, modify, or distribute 13 | * this file you indicate that you have read the license and 14 | * understand and accept it fully. 15 | * 16 | */ 17 | 18 | 19 | #define FT_MAKE_OPTION_SINGLE_OBJECT 20 | #include 21 | 22 | #include "ftcbasic.c" 23 | #include "ftccache.c" 24 | #include "ftccmap.c" 25 | #include "ftcglyph.c" 26 | #include "ftcimage.c" 27 | #include "ftcmanag.c" 28 | #include "ftcmru.c" 29 | #include "ftcsbits.c" 30 | 31 | 32 | /* END */ 33 | -------------------------------------------------------------------------------- /deps/freetype/src/cache/ftcerror.h: -------------------------------------------------------------------------------- 1 | /**************************************************************************** 2 | * 3 | * ftcerror.h 4 | * 5 | * Caching sub-system error codes (specification only). 6 | * 7 | * Copyright (C) 2001-2020 by 8 | * David Turner, Robert Wilhelm, and Werner Lemberg. 9 | * 10 | * This file is part of the FreeType project, and may only be used, 11 | * modified, and distributed under the terms of the FreeType project 12 | * license, LICENSE.TXT. By continuing to use, modify, or distribute 13 | * this file you indicate that you have read the license and 14 | * understand and accept it fully. 15 | * 16 | */ 17 | 18 | 19 | /************************************************************************** 20 | * 21 | * This file is used to define the caching sub-system error enumeration 22 | * constants. 23 | * 24 | */ 25 | 26 | #ifndef FTCERROR_H_ 27 | #define FTCERROR_H_ 28 | 29 | #include FT_MODULE_ERRORS_H 30 | 31 | #undef FTERRORS_H_ 32 | 33 | #undef FT_ERR_PREFIX 34 | #define FT_ERR_PREFIX FTC_Err_ 35 | #define FT_ERR_BASE FT_Mod_Err_Cache 36 | 37 | #include FT_ERRORS_H 38 | 39 | #endif /* FTCERROR_H_ */ 40 | 41 | 42 | /* END */ 43 | -------------------------------------------------------------------------------- /deps/freetype/src/cff/cff.c: -------------------------------------------------------------------------------- 1 | /**************************************************************************** 2 | * 3 | * cff.c 4 | * 5 | * FreeType OpenType driver component (body only). 6 | * 7 | * Copyright (C) 1996-2020 by 8 | * David Turner, Robert Wilhelm, and Werner Lemberg. 9 | * 10 | * This file is part of the FreeType project, and may only be used, 11 | * modified, and distributed under the terms of the FreeType project 12 | * license, LICENSE.TXT. By continuing to use, modify, or distribute 13 | * this file you indicate that you have read the license and 14 | * understand and accept it fully. 15 | * 16 | */ 17 | 18 | 19 | #define FT_MAKE_OPTION_SINGLE_OBJECT 20 | #include 21 | 22 | #include "cffcmap.c" 23 | #include "cffdrivr.c" 24 | #include "cffgload.c" 25 | #include "cffparse.c" 26 | #include "cffload.c" 27 | #include "cffobjs.c" 28 | 29 | /* END */ 30 | -------------------------------------------------------------------------------- /deps/freetype/src/cff/cffdrivr.h: -------------------------------------------------------------------------------- 1 | /**************************************************************************** 2 | * 3 | * cffdrivr.h 4 | * 5 | * High-level OpenType driver interface (specification). 6 | * 7 | * Copyright (C) 1996-2020 by 8 | * David Turner, Robert Wilhelm, and Werner Lemberg. 9 | * 10 | * This file is part of the FreeType project, and may only be used, 11 | * modified, and distributed under the terms of the FreeType project 12 | * license, LICENSE.TXT. By continuing to use, modify, or distribute 13 | * this file you indicate that you have read the license and 14 | * understand and accept it fully. 15 | * 16 | */ 17 | 18 | 19 | #ifndef CFFDRIVER_H_ 20 | #define CFFDRIVER_H_ 21 | 22 | 23 | #include 24 | #include FT_INTERNAL_DRIVER_H 25 | 26 | 27 | FT_BEGIN_HEADER 28 | 29 | FT_DECLARE_DRIVER( cff_driver_class ) 30 | 31 | FT_END_HEADER 32 | 33 | #endif /* CFFDRIVER_H_ */ 34 | 35 | 36 | /* END */ 37 | -------------------------------------------------------------------------------- /deps/freetype/src/cff/cfferrs.h: -------------------------------------------------------------------------------- 1 | /**************************************************************************** 2 | * 3 | * cfferrs.h 4 | * 5 | * CFF error codes (specification only). 6 | * 7 | * Copyright (C) 2001-2020 by 8 | * David Turner, Robert Wilhelm, and Werner Lemberg. 9 | * 10 | * This file is part of the FreeType project, and may only be used, 11 | * modified, and distributed under the terms of the FreeType project 12 | * license, LICENSE.TXT. By continuing to use, modify, or distribute 13 | * this file you indicate that you have read the license and 14 | * understand and accept it fully. 15 | * 16 | */ 17 | 18 | 19 | /************************************************************************** 20 | * 21 | * This file is used to define the CFF error enumeration constants. 22 | * 23 | */ 24 | 25 | #ifndef CFFERRS_H_ 26 | #define CFFERRS_H_ 27 | 28 | #include FT_MODULE_ERRORS_H 29 | 30 | #undef FTERRORS_H_ 31 | 32 | #undef FT_ERR_PREFIX 33 | #define FT_ERR_PREFIX CFF_Err_ 34 | #define FT_ERR_BASE FT_Mod_Err_CFF 35 | 36 | 37 | #include FT_ERRORS_H 38 | 39 | #endif /* CFFERRS_H_ */ 40 | 41 | 42 | /* END */ 43 | -------------------------------------------------------------------------------- /deps/freetype/src/cff/cffgload.h: -------------------------------------------------------------------------------- 1 | /**************************************************************************** 2 | * 3 | * cffgload.h 4 | * 5 | * OpenType Glyph Loader (specification). 6 | * 7 | * Copyright (C) 1996-2020 by 8 | * David Turner, Robert Wilhelm, and Werner Lemberg. 9 | * 10 | * This file is part of the FreeType project, and may only be used, 11 | * modified, and distributed under the terms of the FreeType project 12 | * license, LICENSE.TXT. By continuing to use, modify, or distribute 13 | * this file you indicate that you have read the license and 14 | * understand and accept it fully. 15 | * 16 | */ 17 | 18 | 19 | #ifndef CFFGLOAD_H_ 20 | #define CFFGLOAD_H_ 21 | 22 | 23 | #include 24 | #include FT_FREETYPE_H 25 | #include FT_INTERNAL_CFF_OBJECTS_TYPES_H 26 | 27 | 28 | FT_BEGIN_HEADER 29 | 30 | FT_LOCAL( FT_Error ) 31 | cff_get_glyph_data( TT_Face face, 32 | FT_UInt glyph_index, 33 | FT_Byte** pointer, 34 | FT_ULong* length ); 35 | FT_LOCAL( void ) 36 | cff_free_glyph_data( TT_Face face, 37 | FT_Byte** pointer, 38 | FT_ULong length ); 39 | 40 | 41 | #if 0 /* unused until we support pure CFF fonts */ 42 | 43 | /* Compute the maximum advance width of a font through quick parsing */ 44 | FT_LOCAL( FT_Error ) 45 | cff_compute_max_advance( TT_Face face, 46 | FT_Int* max_advance ); 47 | 48 | #endif /* 0 */ 49 | 50 | 51 | FT_LOCAL( FT_Error ) 52 | cff_slot_load( CFF_GlyphSlot glyph, 53 | CFF_Size size, 54 | FT_UInt glyph_index, 55 | FT_Int32 load_flags ); 56 | 57 | 58 | FT_END_HEADER 59 | 60 | #endif /* CFFGLOAD_H_ */ 61 | 62 | 63 | /* END */ 64 | -------------------------------------------------------------------------------- /deps/freetype/src/cid/ciderrs.h: -------------------------------------------------------------------------------- 1 | /**************************************************************************** 2 | * 3 | * ciderrs.h 4 | * 5 | * CID error codes (specification only). 6 | * 7 | * Copyright (C) 2001-2020 by 8 | * David Turner, Robert Wilhelm, and Werner Lemberg. 9 | * 10 | * This file is part of the FreeType project, and may only be used, 11 | * modified, and distributed under the terms of the FreeType project 12 | * license, LICENSE.TXT. By continuing to use, modify, or distribute 13 | * this file you indicate that you have read the license and 14 | * understand and accept it fully. 15 | * 16 | */ 17 | 18 | 19 | /************************************************************************** 20 | * 21 | * This file is used to define the CID error enumeration constants. 22 | * 23 | */ 24 | 25 | #ifndef CIDERRS_H_ 26 | #define CIDERRS_H_ 27 | 28 | #include FT_MODULE_ERRORS_H 29 | 30 | #undef FTERRORS_H_ 31 | 32 | #undef FT_ERR_PREFIX 33 | #define FT_ERR_PREFIX CID_Err_ 34 | #define FT_ERR_BASE FT_Mod_Err_CID 35 | 36 | #include FT_ERRORS_H 37 | 38 | #endif /* CIDERRS_H_ */ 39 | 40 | 41 | /* END */ 42 | -------------------------------------------------------------------------------- /deps/freetype/src/cid/cidgload.h: -------------------------------------------------------------------------------- 1 | /**************************************************************************** 2 | * 3 | * cidgload.h 4 | * 5 | * OpenType Glyph Loader (specification). 6 | * 7 | * Copyright (C) 1996-2020 by 8 | * David Turner, Robert Wilhelm, and Werner Lemberg. 9 | * 10 | * This file is part of the FreeType project, and may only be used, 11 | * modified, and distributed under the terms of the FreeType project 12 | * license, LICENSE.TXT. By continuing to use, modify, or distribute 13 | * this file you indicate that you have read the license and 14 | * understand and accept it fully. 15 | * 16 | */ 17 | 18 | 19 | #ifndef CIDGLOAD_H_ 20 | #define CIDGLOAD_H_ 21 | 22 | 23 | #include 24 | #include "cidobjs.h" 25 | 26 | 27 | FT_BEGIN_HEADER 28 | 29 | 30 | #if 0 31 | 32 | /* Compute the maximum advance width of a font through quick parsing */ 33 | FT_LOCAL( FT_Error ) 34 | cid_face_compute_max_advance( CID_Face face, 35 | FT_Int* max_advance ); 36 | 37 | #endif /* 0 */ 38 | 39 | FT_LOCAL( FT_Error ) 40 | cid_slot_load_glyph( FT_GlyphSlot glyph, /* CID_Glyph_Slot */ 41 | FT_Size size, /* CID_Size */ 42 | FT_UInt glyph_index, 43 | FT_Int32 load_flags ); 44 | 45 | 46 | FT_END_HEADER 47 | 48 | #endif /* CIDGLOAD_H_ */ 49 | 50 | 51 | /* END */ 52 | -------------------------------------------------------------------------------- /deps/freetype/src/cid/cidload.h: -------------------------------------------------------------------------------- 1 | /**************************************************************************** 2 | * 3 | * cidload.h 4 | * 5 | * CID-keyed Type1 font loader (specification). 6 | * 7 | * Copyright (C) 1996-2020 by 8 | * David Turner, Robert Wilhelm, and Werner Lemberg. 9 | * 10 | * This file is part of the FreeType project, and may only be used, 11 | * modified, and distributed under the terms of the FreeType project 12 | * license, LICENSE.TXT. By continuing to use, modify, or distribute 13 | * this file you indicate that you have read the license and 14 | * understand and accept it fully. 15 | * 16 | */ 17 | 18 | 19 | #ifndef CIDLOAD_H_ 20 | #define CIDLOAD_H_ 21 | 22 | 23 | #include 24 | #include FT_INTERNAL_STREAM_H 25 | #include "cidparse.h" 26 | 27 | 28 | FT_BEGIN_HEADER 29 | 30 | 31 | typedef struct CID_Loader_ 32 | { 33 | CID_Parser parser; /* parser used to read the stream */ 34 | FT_Int num_chars; /* number of characters in encoding */ 35 | 36 | } CID_Loader; 37 | 38 | 39 | FT_LOCAL( FT_ULong ) 40 | cid_get_offset( FT_Byte** start, 41 | FT_Byte offsize ); 42 | 43 | FT_LOCAL( FT_Error ) 44 | cid_face_open( CID_Face face, 45 | FT_Int face_index ); 46 | 47 | 48 | FT_END_HEADER 49 | 50 | #endif /* CIDLOAD_H_ */ 51 | 52 | 53 | /* END */ 54 | -------------------------------------------------------------------------------- /deps/freetype/src/cid/cidriver.h: -------------------------------------------------------------------------------- 1 | /**************************************************************************** 2 | * 3 | * cidriver.h 4 | * 5 | * High-level CID driver interface (specification). 6 | * 7 | * Copyright (C) 1996-2020 by 8 | * David Turner, Robert Wilhelm, and Werner Lemberg. 9 | * 10 | * This file is part of the FreeType project, and may only be used, 11 | * modified, and distributed under the terms of the FreeType project 12 | * license, LICENSE.TXT. By continuing to use, modify, or distribute 13 | * this file you indicate that you have read the license and 14 | * understand and accept it fully. 15 | * 16 | */ 17 | 18 | 19 | #ifndef CIDRIVER_H_ 20 | #define CIDRIVER_H_ 21 | 22 | 23 | #include 24 | #include FT_INTERNAL_DRIVER_H 25 | 26 | 27 | FT_BEGIN_HEADER 28 | 29 | FT_CALLBACK_TABLE 30 | const FT_Driver_ClassRec t1cid_driver_class; 31 | 32 | FT_END_HEADER 33 | 34 | #endif /* CIDRIVER_H_ */ 35 | 36 | 37 | /* END */ 38 | -------------------------------------------------------------------------------- /deps/freetype/src/cid/type1cid.c: -------------------------------------------------------------------------------- 1 | /**************************************************************************** 2 | * 3 | * type1cid.c 4 | * 5 | * FreeType OpenType driver component (body only). 6 | * 7 | * Copyright (C) 1996-2020 by 8 | * David Turner, Robert Wilhelm, and Werner Lemberg. 9 | * 10 | * This file is part of the FreeType project, and may only be used, 11 | * modified, and distributed under the terms of the FreeType project 12 | * license, LICENSE.TXT. By continuing to use, modify, or distribute 13 | * this file you indicate that you have read the license and 14 | * understand and accept it fully. 15 | * 16 | */ 17 | 18 | 19 | #define FT_MAKE_OPTION_SINGLE_OBJECT 20 | #include 21 | 22 | #include "cidgload.c" 23 | #include "cidload.c" 24 | #include "cidobjs.c" 25 | #include "cidparse.c" 26 | #include "cidriver.c" 27 | 28 | 29 | /* END */ 30 | -------------------------------------------------------------------------------- /deps/freetype/src/pcf/pcf.c: -------------------------------------------------------------------------------- 1 | /* pcf.c 2 | 3 | FreeType font driver for pcf fonts 4 | 5 | Copyright 2000-2001, 2003 by 6 | Francesco Zappa Nardelli 7 | 8 | Permission is hereby granted, free of charge, to any person obtaining a copy 9 | of this software and associated documentation files (the "Software"), to deal 10 | in the Software without restriction, including without limitation the rights 11 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 12 | copies of the Software, and to permit persons to whom the Software is 13 | furnished to do so, subject to the following conditions: 14 | 15 | The above copyright notice and this permission notice shall be included in 16 | all copies or substantial portions of the Software. 17 | 18 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 19 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 20 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 21 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 22 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 23 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 24 | THE SOFTWARE. 25 | */ 26 | 27 | 28 | #define FT_MAKE_OPTION_SINGLE_OBJECT 29 | #include 30 | 31 | #include "pcfdrivr.c" 32 | #include "pcfread.c" 33 | #include "pcfutil.c" 34 | 35 | 36 | /* END */ 37 | -------------------------------------------------------------------------------- /deps/freetype/src/pcf/pcfdrivr.h: -------------------------------------------------------------------------------- 1 | /* pcfdrivr.h 2 | 3 | FreeType font driver for pcf fonts 4 | 5 | Copyright 2000-2001, 2002 by 6 | Francesco Zappa Nardelli 7 | 8 | Permission is hereby granted, free of charge, to any person obtaining a copy 9 | of this software and associated documentation files (the "Software"), to deal 10 | in the Software without restriction, including without limitation the rights 11 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 12 | copies of the Software, and to permit persons to whom the Software is 13 | furnished to do so, subject to the following conditions: 14 | 15 | The above copyright notice and this permission notice shall be included in 16 | all copies or substantial portions of the Software. 17 | 18 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 19 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 20 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 21 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 22 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 23 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 24 | THE SOFTWARE. 25 | */ 26 | 27 | 28 | #ifndef PCFDRIVR_H_ 29 | #define PCFDRIVR_H_ 30 | 31 | #include 32 | #include FT_INTERNAL_DRIVER_H 33 | 34 | 35 | FT_BEGIN_HEADER 36 | 37 | FT_EXPORT_VAR( const FT_Driver_ClassRec ) pcf_driver_class; 38 | 39 | FT_END_HEADER 40 | 41 | 42 | #endif /* PCFDRIVR_H_ */ 43 | 44 | 45 | /* END */ 46 | -------------------------------------------------------------------------------- /deps/freetype/src/pcf/pcferror.h: -------------------------------------------------------------------------------- 1 | /**************************************************************************** 2 | * 3 | * pcferror.h 4 | * 5 | * PCF error codes (specification only). 6 | * 7 | * Copyright 2001, 2012 by 8 | * David Turner, Robert Wilhelm, and Werner Lemberg. 9 | * 10 | * This file is part of the FreeType project, and may only be used, 11 | * modified, and distributed under the terms of the FreeType project 12 | * license, LICENSE.TXT. By continuing to use, modify, or distribute 13 | * this file you indicate that you have read the license and 14 | * understand and accept it fully. 15 | * 16 | */ 17 | 18 | 19 | /************************************************************************** 20 | * 21 | * This file is used to define the PCF error enumeration constants. 22 | * 23 | */ 24 | 25 | #ifndef PCFERROR_H_ 26 | #define PCFERROR_H_ 27 | 28 | #include FT_MODULE_ERRORS_H 29 | 30 | #undef FTERRORS_H_ 31 | 32 | #undef FT_ERR_PREFIX 33 | #define FT_ERR_PREFIX PCF_Err_ 34 | #define FT_ERR_BASE FT_Mod_Err_PCF 35 | 36 | #include FT_ERRORS_H 37 | 38 | #endif /* PCFERROR_H_ */ 39 | 40 | 41 | /* END */ 42 | -------------------------------------------------------------------------------- /deps/freetype/src/pcf/pcfread.h: -------------------------------------------------------------------------------- 1 | /* pcfread.h 2 | 3 | FreeType font driver for pcf fonts 4 | 5 | Copyright 2003 by 6 | Francesco Zappa Nardelli 7 | 8 | Permission is hereby granted, free of charge, to any person obtaining a copy 9 | of this software and associated documentation files (the "Software"), to deal 10 | in the Software without restriction, including without limitation the rights 11 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 12 | copies of the Software, and to permit persons to whom the Software is 13 | furnished to do so, subject to the following conditions: 14 | 15 | The above copyright notice and this permission notice shall be included in 16 | all copies or substantial portions of the Software. 17 | 18 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 19 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 20 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 21 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 22 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 23 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 24 | THE SOFTWARE. 25 | */ 26 | 27 | 28 | #ifndef PCFREAD_H_ 29 | #define PCFREAD_H_ 30 | 31 | 32 | #include 33 | 34 | FT_BEGIN_HEADER 35 | 36 | FT_LOCAL( PCF_Property ) 37 | pcf_find_property( PCF_Face face, 38 | const FT_String* prop ); 39 | 40 | FT_END_HEADER 41 | 42 | #endif /* PCFREAD_H_ */ 43 | 44 | 45 | /* END */ 46 | -------------------------------------------------------------------------------- /deps/freetype/src/pcf/pcfutil.h: -------------------------------------------------------------------------------- 1 | /* pcfutil.h 2 | 3 | FreeType font driver for pcf fonts 4 | 5 | Copyright 2000, 2001, 2004 by 6 | Francesco Zappa Nardelli 7 | 8 | Permission is hereby granted, free of charge, to any person obtaining a copy 9 | of this software and associated documentation files (the "Software"), to deal 10 | in the Software without restriction, including without limitation the rights 11 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 12 | copies of the Software, and to permit persons to whom the Software is 13 | furnished to do so, subject to the following conditions: 14 | 15 | The above copyright notice and this permission notice shall be included in 16 | all copies or substantial portions of the Software. 17 | 18 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 19 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 20 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 21 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 22 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 23 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 24 | THE SOFTWARE. 25 | */ 26 | 27 | 28 | #ifndef PCFUTIL_H_ 29 | #define PCFUTIL_H_ 30 | 31 | 32 | #include 33 | #include FT_CONFIG_CONFIG_H 34 | 35 | 36 | FT_BEGIN_HEADER 37 | 38 | FT_LOCAL( void ) 39 | BitOrderInvert( unsigned char* buf, 40 | size_t nbytes ); 41 | 42 | FT_LOCAL( void ) 43 | TwoByteSwap( unsigned char* buf, 44 | size_t nbytes ); 45 | 46 | FT_LOCAL( void ) 47 | FourByteSwap( unsigned char* buf, 48 | size_t nbytes ); 49 | 50 | FT_END_HEADER 51 | 52 | #endif /* PCFUTIL_H_ */ 53 | 54 | 55 | /* END */ 56 | -------------------------------------------------------------------------------- /deps/freetype/src/pfr/pfr.c: -------------------------------------------------------------------------------- 1 | /**************************************************************************** 2 | * 3 | * pfr.c 4 | * 5 | * FreeType PFR driver component. 6 | * 7 | * Copyright (C) 2002-2020 by 8 | * David Turner, Robert Wilhelm, and Werner Lemberg. 9 | * 10 | * This file is part of the FreeType project, and may only be used, 11 | * modified, and distributed under the terms of the FreeType project 12 | * license, LICENSE.TXT. By continuing to use, modify, or distribute 13 | * this file you indicate that you have read the license and 14 | * understand and accept it fully. 15 | * 16 | */ 17 | 18 | 19 | #define FT_MAKE_OPTION_SINGLE_OBJECT 20 | #include 21 | 22 | #include "pfrcmap.c" 23 | #include "pfrdrivr.c" 24 | #include "pfrgload.c" 25 | #include "pfrload.c" 26 | #include "pfrobjs.c" 27 | #include "pfrsbit.c" 28 | 29 | 30 | /* END */ 31 | -------------------------------------------------------------------------------- /deps/freetype/src/pfr/pfrcmap.h: -------------------------------------------------------------------------------- 1 | /**************************************************************************** 2 | * 3 | * pfrcmap.h 4 | * 5 | * FreeType PFR cmap handling (specification). 6 | * 7 | * Copyright (C) 2002-2020 by 8 | * David Turner, Robert Wilhelm, and Werner Lemberg. 9 | * 10 | * This file is part of the FreeType project, and may only be used, 11 | * modified, and distributed under the terms of the FreeType project 12 | * license, LICENSE.TXT. By continuing to use, modify, or distribute 13 | * this file you indicate that you have read the license and 14 | * understand and accept it fully. 15 | * 16 | */ 17 | 18 | 19 | #ifndef PFRCMAP_H_ 20 | #define PFRCMAP_H_ 21 | 22 | #include 23 | #include FT_INTERNAL_OBJECTS_H 24 | #include "pfrtypes.h" 25 | 26 | 27 | FT_BEGIN_HEADER 28 | 29 | typedef struct PFR_CMapRec_ 30 | { 31 | FT_CMapRec cmap; 32 | FT_UInt num_chars; 33 | PFR_Char chars; 34 | 35 | } PFR_CMapRec, *PFR_CMap; 36 | 37 | 38 | FT_CALLBACK_TABLE const FT_CMap_ClassRec pfr_cmap_class_rec; 39 | 40 | FT_END_HEADER 41 | 42 | 43 | #endif /* PFRCMAP_H_ */ 44 | 45 | 46 | /* END */ 47 | -------------------------------------------------------------------------------- /deps/freetype/src/pfr/pfrdrivr.h: -------------------------------------------------------------------------------- 1 | /**************************************************************************** 2 | * 3 | * pfrdrivr.h 4 | * 5 | * High-level Type PFR driver interface (specification). 6 | * 7 | * Copyright (C) 2002-2020 by 8 | * David Turner, Robert Wilhelm, and Werner Lemberg. 9 | * 10 | * This file is part of the FreeType project, and may only be used, 11 | * modified, and distributed under the terms of the FreeType project 12 | * license, LICENSE.TXT. By continuing to use, modify, or distribute 13 | * this file you indicate that you have read the license and 14 | * understand and accept it fully. 15 | * 16 | */ 17 | 18 | 19 | #ifndef PFRDRIVR_H_ 20 | #define PFRDRIVR_H_ 21 | 22 | 23 | #include 24 | #include FT_INTERNAL_DRIVER_H 25 | 26 | 27 | FT_BEGIN_HEADER 28 | 29 | FT_EXPORT_VAR( const FT_Driver_ClassRec ) pfr_driver_class; 30 | 31 | FT_END_HEADER 32 | 33 | 34 | #endif /* PFRDRIVR_H_ */ 35 | 36 | 37 | /* END */ 38 | -------------------------------------------------------------------------------- /deps/freetype/src/pfr/pfrerror.h: -------------------------------------------------------------------------------- 1 | /**************************************************************************** 2 | * 3 | * pfrerror.h 4 | * 5 | * PFR error codes (specification only). 6 | * 7 | * Copyright (C) 2002-2020 by 8 | * David Turner, Robert Wilhelm, and Werner Lemberg. 9 | * 10 | * This file is part of the FreeType project, and may only be used, 11 | * modified, and distributed under the terms of the FreeType project 12 | * license, LICENSE.TXT. By continuing to use, modify, or distribute 13 | * this file you indicate that you have read the license and 14 | * understand and accept it fully. 15 | * 16 | */ 17 | 18 | 19 | /************************************************************************** 20 | * 21 | * This file is used to define the PFR error enumeration constants. 22 | * 23 | */ 24 | 25 | #ifndef PFRERROR_H_ 26 | #define PFRERROR_H_ 27 | 28 | #include FT_MODULE_ERRORS_H 29 | 30 | #undef FTERRORS_H_ 31 | 32 | #undef FT_ERR_PREFIX 33 | #define FT_ERR_PREFIX PFR_Err_ 34 | #define FT_ERR_BASE FT_Mod_Err_PFR 35 | 36 | #include FT_ERRORS_H 37 | 38 | #endif /* PFRERROR_H_ */ 39 | 40 | 41 | /* END */ 42 | -------------------------------------------------------------------------------- /deps/freetype/src/pfr/pfrgload.h: -------------------------------------------------------------------------------- 1 | /**************************************************************************** 2 | * 3 | * pfrgload.h 4 | * 5 | * FreeType PFR glyph loader (specification). 6 | * 7 | * Copyright (C) 2002-2020 by 8 | * David Turner, Robert Wilhelm, and Werner Lemberg. 9 | * 10 | * This file is part of the FreeType project, and may only be used, 11 | * modified, and distributed under the terms of the FreeType project 12 | * license, LICENSE.TXT. By continuing to use, modify, or distribute 13 | * this file you indicate that you have read the license and 14 | * understand and accept it fully. 15 | * 16 | */ 17 | 18 | 19 | #ifndef PFRGLOAD_H_ 20 | #define PFRGLOAD_H_ 21 | 22 | #include "pfrtypes.h" 23 | 24 | FT_BEGIN_HEADER 25 | 26 | 27 | FT_LOCAL( void ) 28 | pfr_glyph_init( PFR_Glyph glyph, 29 | FT_GlyphLoader loader ); 30 | 31 | FT_LOCAL( void ) 32 | pfr_glyph_done( PFR_Glyph glyph ); 33 | 34 | 35 | FT_LOCAL( FT_Error ) 36 | pfr_glyph_load( PFR_Glyph glyph, 37 | FT_Stream stream, 38 | FT_ULong gps_offset, 39 | FT_ULong offset, 40 | FT_ULong size ); 41 | 42 | 43 | FT_END_HEADER 44 | 45 | 46 | #endif /* PFRGLOAD_H_ */ 47 | 48 | 49 | /* END */ 50 | -------------------------------------------------------------------------------- /deps/freetype/src/pfr/pfrsbit.h: -------------------------------------------------------------------------------- 1 | /**************************************************************************** 2 | * 3 | * pfrsbit.h 4 | * 5 | * FreeType PFR bitmap loader (specification). 6 | * 7 | * Copyright (C) 2002-2020 by 8 | * David Turner, Robert Wilhelm, and Werner Lemberg. 9 | * 10 | * This file is part of the FreeType project, and may only be used, 11 | * modified, and distributed under the terms of the FreeType project 12 | * license, LICENSE.TXT. By continuing to use, modify, or distribute 13 | * this file you indicate that you have read the license and 14 | * understand and accept it fully. 15 | * 16 | */ 17 | 18 | 19 | #ifndef PFRSBIT_H_ 20 | #define PFRSBIT_H_ 21 | 22 | #include "pfrobjs.h" 23 | 24 | FT_BEGIN_HEADER 25 | 26 | FT_LOCAL( FT_Error ) 27 | pfr_slot_load_bitmap( PFR_Slot glyph, 28 | PFR_Size size, 29 | FT_UInt glyph_index, 30 | FT_Bool metrics_only ); 31 | 32 | FT_END_HEADER 33 | 34 | #endif /* PFRSBIT_H_ */ 35 | 36 | 37 | /* END */ 38 | -------------------------------------------------------------------------------- /deps/freetype/src/psaux/psaux.c: -------------------------------------------------------------------------------- 1 | /**************************************************************************** 2 | * 3 | * psaux.c 4 | * 5 | * FreeType auxiliary PostScript driver component (body only). 6 | * 7 | * Copyright (C) 1996-2020 by 8 | * David Turner, Robert Wilhelm, and Werner Lemberg. 9 | * 10 | * This file is part of the FreeType project, and may only be used, 11 | * modified, and distributed under the terms of the FreeType project 12 | * license, LICENSE.TXT. By continuing to use, modify, or distribute 13 | * this file you indicate that you have read the license and 14 | * understand and accept it fully. 15 | * 16 | */ 17 | 18 | 19 | #define FT_MAKE_OPTION_SINGLE_OBJECT 20 | #include 21 | 22 | #include "afmparse.c" 23 | #include "psauxmod.c" 24 | #include "psconv.c" 25 | #include "psobjs.c" 26 | #include "t1cmap.c" 27 | #include "t1decode.c" 28 | #include "cffdecode.c" 29 | 30 | #include "psarrst.c" 31 | #include "psblues.c" 32 | #include "pserror.c" 33 | #include "psfont.c" 34 | #include "psft.c" 35 | #include "pshints.c" 36 | #include "psintrp.c" 37 | #include "psread.c" 38 | #include "psstack.c" 39 | 40 | 41 | /* END */ 42 | -------------------------------------------------------------------------------- /deps/freetype/src/psaux/psauxerr.h: -------------------------------------------------------------------------------- 1 | /**************************************************************************** 2 | * 3 | * psauxerr.h 4 | * 5 | * PS auxiliary module error codes (specification only). 6 | * 7 | * Copyright (C) 2001-2020 by 8 | * David Turner, Robert Wilhelm, and Werner Lemberg. 9 | * 10 | * This file is part of the FreeType project, and may only be used, 11 | * modified, and distributed under the terms of the FreeType project 12 | * license, LICENSE.TXT. By continuing to use, modify, or distribute 13 | * this file you indicate that you have read the license and 14 | * understand and accept it fully. 15 | * 16 | */ 17 | 18 | 19 | /************************************************************************** 20 | * 21 | * This file is used to define the PS auxiliary module error enumeration 22 | * constants. 23 | * 24 | */ 25 | 26 | #ifndef PSAUXERR_H_ 27 | #define PSAUXERR_H_ 28 | 29 | #include FT_MODULE_ERRORS_H 30 | 31 | #undef FTERRORS_H_ 32 | 33 | #undef FT_ERR_PREFIX 34 | #define FT_ERR_PREFIX PSaux_Err_ 35 | #define FT_ERR_BASE FT_Mod_Err_PSaux 36 | 37 | #include FT_ERRORS_H 38 | 39 | #endif /* PSAUXERR_H_ */ 40 | 41 | 42 | /* END */ 43 | -------------------------------------------------------------------------------- /deps/freetype/src/psaux/psauxmod.h: -------------------------------------------------------------------------------- 1 | /**************************************************************************** 2 | * 3 | * psauxmod.h 4 | * 5 | * FreeType auxiliary PostScript module implementation (specification). 6 | * 7 | * Copyright (C) 2000-2020 by 8 | * David Turner, Robert Wilhelm, and Werner Lemberg. 9 | * 10 | * This file is part of the FreeType project, and may only be used, 11 | * modified, and distributed under the terms of the FreeType project 12 | * license, LICENSE.TXT. By continuing to use, modify, or distribute 13 | * this file you indicate that you have read the license and 14 | * understand and accept it fully. 15 | * 16 | */ 17 | 18 | 19 | #ifndef PSAUXMOD_H_ 20 | #define PSAUXMOD_H_ 21 | 22 | 23 | #include 24 | #include FT_MODULE_H 25 | 26 | #include FT_INTERNAL_POSTSCRIPT_AUX_H 27 | 28 | 29 | FT_BEGIN_HEADER 30 | 31 | 32 | FT_CALLBACK_TABLE 33 | const CFF_Builder_FuncsRec cff_builder_funcs; 34 | 35 | FT_CALLBACK_TABLE 36 | const PS_Builder_FuncsRec ps_builder_funcs; 37 | 38 | 39 | FT_EXPORT_VAR( const FT_Module_Class ) psaux_driver_class; 40 | 41 | 42 | FT_END_HEADER 43 | 44 | #endif /* PSAUXMOD_H_ */ 45 | 46 | 47 | /* END */ 48 | -------------------------------------------------------------------------------- /deps/freetype/src/pshinter/pshinter.c: -------------------------------------------------------------------------------- 1 | /**************************************************************************** 2 | * 3 | * pshinter.c 4 | * 5 | * FreeType PostScript Hinting module 6 | * 7 | * Copyright (C) 2001-2020 by 8 | * David Turner, Robert Wilhelm, and Werner Lemberg. 9 | * 10 | * This file is part of the FreeType project, and may only be used, 11 | * modified, and distributed under the terms of the FreeType project 12 | * license, LICENSE.TXT. By continuing to use, modify, or distribute 13 | * this file you indicate that you have read the license and 14 | * understand and accept it fully. 15 | * 16 | */ 17 | 18 | 19 | #define FT_MAKE_OPTION_SINGLE_OBJECT 20 | #include 21 | 22 | #include "pshalgo.c" 23 | #include "pshglob.c" 24 | #include "pshmod.c" 25 | #include "pshrec.c" 26 | 27 | 28 | /* END */ 29 | -------------------------------------------------------------------------------- /deps/freetype/src/pshinter/pshmod.h: -------------------------------------------------------------------------------- 1 | /**************************************************************************** 2 | * 3 | * pshmod.h 4 | * 5 | * PostScript hinter module interface (specification). 6 | * 7 | * Copyright (C) 2001-2020 by 8 | * David Turner, Robert Wilhelm, and Werner Lemberg. 9 | * 10 | * This file is part of the FreeType project, and may only be used, 11 | * modified, and distributed under the terms of the FreeType project 12 | * license, LICENSE.TXT. By continuing to use, modify, or distribute 13 | * this file you indicate that you have read the license and 14 | * understand and accept it fully. 15 | * 16 | */ 17 | 18 | 19 | #ifndef PSHMOD_H_ 20 | #define PSHMOD_H_ 21 | 22 | 23 | #include 24 | #include FT_MODULE_H 25 | 26 | 27 | FT_BEGIN_HEADER 28 | 29 | 30 | FT_DECLARE_MODULE( pshinter_module_class ) 31 | 32 | 33 | FT_END_HEADER 34 | 35 | 36 | #endif /* PSHMOD_H_ */ 37 | 38 | 39 | /* END */ 40 | -------------------------------------------------------------------------------- /deps/freetype/src/pshinter/pshnterr.h: -------------------------------------------------------------------------------- 1 | /**************************************************************************** 2 | * 3 | * pshnterr.h 4 | * 5 | * PS Hinter error codes (specification only). 6 | * 7 | * Copyright (C) 2003-2020 by 8 | * David Turner, Robert Wilhelm, and Werner Lemberg. 9 | * 10 | * This file is part of the FreeType project, and may only be used, 11 | * modified, and distributed under the terms of the FreeType project 12 | * license, LICENSE.TXT. By continuing to use, modify, or distribute 13 | * this file you indicate that you have read the license and 14 | * understand and accept it fully. 15 | * 16 | */ 17 | 18 | 19 | /************************************************************************** 20 | * 21 | * This file is used to define the PSHinter error enumeration constants. 22 | * 23 | */ 24 | 25 | #ifndef PSHNTERR_H_ 26 | #define PSHNTERR_H_ 27 | 28 | #include FT_MODULE_ERRORS_H 29 | 30 | #undef FTERRORS_H_ 31 | 32 | #undef FT_ERR_PREFIX 33 | #define FT_ERR_PREFIX PSH_Err_ 34 | #define FT_ERR_BASE FT_Mod_Err_PShinter 35 | 36 | #include FT_ERRORS_H 37 | 38 | #endif /* PSHNTERR_H_ */ 39 | 40 | 41 | /* END */ 42 | -------------------------------------------------------------------------------- /deps/freetype/src/psnames/psmodule.h: -------------------------------------------------------------------------------- 1 | /**************************************************************************** 2 | * 3 | * psmodule.h 4 | * 5 | * High-level psnames module interface (specification). 6 | * 7 | * Copyright (C) 1996-2020 by 8 | * David Turner, Robert Wilhelm, and Werner Lemberg. 9 | * 10 | * This file is part of the FreeType project, and may only be used, 11 | * modified, and distributed under the terms of the FreeType project 12 | * license, LICENSE.TXT. By continuing to use, modify, or distribute 13 | * this file you indicate that you have read the license and 14 | * understand and accept it fully. 15 | * 16 | */ 17 | 18 | 19 | #ifndef PSMODULE_H_ 20 | #define PSMODULE_H_ 21 | 22 | 23 | #include 24 | #include FT_MODULE_H 25 | 26 | 27 | FT_BEGIN_HEADER 28 | 29 | 30 | FT_DECLARE_MODULE( psnames_module_class ) 31 | 32 | 33 | FT_END_HEADER 34 | 35 | #endif /* PSMODULE_H_ */ 36 | 37 | 38 | /* END */ 39 | -------------------------------------------------------------------------------- /deps/freetype/src/psnames/psnamerr.h: -------------------------------------------------------------------------------- 1 | /**************************************************************************** 2 | * 3 | * psnamerr.h 4 | * 5 | * PS names module error codes (specification only). 6 | * 7 | * Copyright (C) 2001-2020 by 8 | * David Turner, Robert Wilhelm, and Werner Lemberg. 9 | * 10 | * This file is part of the FreeType project, and may only be used, 11 | * modified, and distributed under the terms of the FreeType project 12 | * license, LICENSE.TXT. By continuing to use, modify, or distribute 13 | * this file you indicate that you have read the license and 14 | * understand and accept it fully. 15 | * 16 | */ 17 | 18 | 19 | /************************************************************************** 20 | * 21 | * This file is used to define the PS names module error enumeration 22 | * constants. 23 | * 24 | */ 25 | 26 | #ifndef PSNAMERR_H_ 27 | #define PSNAMERR_H_ 28 | 29 | #include FT_MODULE_ERRORS_H 30 | 31 | #undef FTERRORS_H_ 32 | 33 | #undef FT_ERR_PREFIX 34 | #define FT_ERR_PREFIX PSnames_Err_ 35 | #define FT_ERR_BASE FT_Mod_Err_PSnames 36 | 37 | #include FT_ERRORS_H 38 | 39 | #endif /* PSNAMERR_H_ */ 40 | 41 | 42 | /* END */ 43 | -------------------------------------------------------------------------------- /deps/freetype/src/psnames/psnames.c: -------------------------------------------------------------------------------- 1 | /**************************************************************************** 2 | * 3 | * psnames.c 4 | * 5 | * FreeType psnames module component (body only). 6 | * 7 | * Copyright (C) 1996-2020 by 8 | * David Turner, Robert Wilhelm, and Werner Lemberg. 9 | * 10 | * This file is part of the FreeType project, and may only be used, 11 | * modified, and distributed under the terms of the FreeType project 12 | * license, LICENSE.TXT. By continuing to use, modify, or distribute 13 | * this file you indicate that you have read the license and 14 | * understand and accept it fully. 15 | * 16 | */ 17 | 18 | 19 | #define FT_MAKE_OPTION_SINGLE_OBJECT 20 | #include 21 | 22 | #include "psmodule.c" 23 | 24 | 25 | /* END */ 26 | -------------------------------------------------------------------------------- /deps/freetype/src/raster/ftraster.h: -------------------------------------------------------------------------------- 1 | /**************************************************************************** 2 | * 3 | * ftraster.h 4 | * 5 | * The FreeType glyph rasterizer (specification). 6 | * 7 | * Copyright (C) 1996-2020 by 8 | * David Turner, Robert Wilhelm, and Werner Lemberg. 9 | * 10 | * This file is part of the FreeType project, and may only be used 11 | * modified and distributed under the terms of the FreeType project 12 | * license, LICENSE.TXT. By continuing to use, modify, or distribute 13 | * this file you indicate that you have read the license and 14 | * understand and accept it fully. 15 | * 16 | */ 17 | 18 | 19 | #ifndef FTRASTER_H_ 20 | #define FTRASTER_H_ 21 | 22 | 23 | #include 24 | #include FT_CONFIG_CONFIG_H 25 | #include FT_IMAGE_H 26 | 27 | 28 | FT_BEGIN_HEADER 29 | 30 | 31 | /************************************************************************** 32 | * 33 | * Uncomment the following line if you are using ftraster.c as a 34 | * standalone module, fully independent of FreeType. 35 | */ 36 | /* #define STANDALONE_ */ 37 | 38 | FT_EXPORT_VAR( const FT_Raster_Funcs ) ft_standard_raster; 39 | 40 | 41 | FT_END_HEADER 42 | 43 | #endif /* FTRASTER_H_ */ 44 | 45 | 46 | /* END */ 47 | -------------------------------------------------------------------------------- /deps/freetype/src/raster/ftrend1.h: -------------------------------------------------------------------------------- 1 | /**************************************************************************** 2 | * 3 | * ftrend1.h 4 | * 5 | * The FreeType glyph rasterizer interface (specification). 6 | * 7 | * Copyright (C) 1996-2020 by 8 | * David Turner, Robert Wilhelm, and Werner Lemberg. 9 | * 10 | * This file is part of the FreeType project, and may only be used, 11 | * modified, and distributed under the terms of the FreeType project 12 | * license, LICENSE.TXT. By continuing to use, modify, or distribute 13 | * this file you indicate that you have read the license and 14 | * understand and accept it fully. 15 | * 16 | */ 17 | 18 | 19 | #ifndef FTREND1_H_ 20 | #define FTREND1_H_ 21 | 22 | 23 | #include 24 | #include FT_RENDER_H 25 | 26 | 27 | FT_BEGIN_HEADER 28 | 29 | 30 | FT_DECLARE_RENDERER( ft_raster1_renderer_class ) 31 | 32 | 33 | FT_END_HEADER 34 | 35 | #endif /* FTREND1_H_ */ 36 | 37 | 38 | /* END */ 39 | -------------------------------------------------------------------------------- /deps/freetype/src/raster/raster.c: -------------------------------------------------------------------------------- 1 | /**************************************************************************** 2 | * 3 | * raster.c 4 | * 5 | * FreeType monochrome rasterer module component (body only). 6 | * 7 | * Copyright (C) 1996-2020 by 8 | * David Turner, Robert Wilhelm, and Werner Lemberg. 9 | * 10 | * This file is part of the FreeType project, and may only be used, 11 | * modified, and distributed under the terms of the FreeType project 12 | * license, LICENSE.TXT. By continuing to use, modify, or distribute 13 | * this file you indicate that you have read the license and 14 | * understand and accept it fully. 15 | * 16 | */ 17 | 18 | 19 | #define FT_MAKE_OPTION_SINGLE_OBJECT 20 | #include 21 | 22 | #include "ftraster.c" 23 | #include "ftrend1.c" 24 | 25 | 26 | /* END */ 27 | -------------------------------------------------------------------------------- /deps/freetype/src/raster/rasterrs.h: -------------------------------------------------------------------------------- 1 | /**************************************************************************** 2 | * 3 | * rasterrs.h 4 | * 5 | * monochrome renderer error codes (specification only). 6 | * 7 | * Copyright (C) 2001-2020 by 8 | * David Turner, Robert Wilhelm, and Werner Lemberg. 9 | * 10 | * This file is part of the FreeType project, and may only be used, 11 | * modified, and distributed under the terms of the FreeType project 12 | * license, LICENSE.TXT. By continuing to use, modify, or distribute 13 | * this file you indicate that you have read the license and 14 | * understand and accept it fully. 15 | * 16 | */ 17 | 18 | 19 | /************************************************************************** 20 | * 21 | * This file is used to define the monochrome renderer error enumeration 22 | * constants. 23 | * 24 | */ 25 | 26 | #ifndef RASTERRS_H_ 27 | #define RASTERRS_H_ 28 | 29 | #include FT_MODULE_ERRORS_H 30 | 31 | #undef FTERRORS_H_ 32 | 33 | #undef FT_ERR_PREFIX 34 | #define FT_ERR_PREFIX Raster_Err_ 35 | #define FT_ERR_BASE FT_Mod_Err_Raster 36 | 37 | #include FT_ERRORS_H 38 | 39 | #endif /* RASTERRS_H_ */ 40 | 41 | 42 | /* END */ 43 | -------------------------------------------------------------------------------- /deps/freetype/src/sfnt/pngshim.h: -------------------------------------------------------------------------------- 1 | /**************************************************************************** 2 | * 3 | * pngshim.h 4 | * 5 | * PNG Bitmap glyph support. 6 | * 7 | * Copyright (C) 2013-2020 by 8 | * Google, Inc. 9 | * Written by Stuart Gill and Behdad Esfahbod. 10 | * 11 | * This file is part of the FreeType project, and may only be used, 12 | * modified, and distributed under the terms of the FreeType project 13 | * license, LICENSE.TXT. By continuing to use, modify, or distribute 14 | * this file you indicate that you have read the license and 15 | * understand and accept it fully. 16 | * 17 | */ 18 | 19 | 20 | #ifndef PNGSHIM_H_ 21 | #define PNGSHIM_H_ 22 | 23 | 24 | #include 25 | #include "ttload.h" 26 | 27 | 28 | FT_BEGIN_HEADER 29 | 30 | #ifdef FT_CONFIG_OPTION_USE_PNG 31 | 32 | FT_LOCAL( FT_Error ) 33 | Load_SBit_Png( FT_GlyphSlot slot, 34 | FT_Int x_offset, 35 | FT_Int y_offset, 36 | FT_Int pix_bits, 37 | TT_SBit_Metrics metrics, 38 | FT_Memory memory, 39 | FT_Byte* data, 40 | FT_UInt png_len, 41 | FT_Bool populate_map_and_metrics, 42 | FT_Bool metrics_only ); 43 | 44 | #endif 45 | 46 | FT_END_HEADER 47 | 48 | #endif /* PNGSHIM_H_ */ 49 | 50 | 51 | /* END */ 52 | -------------------------------------------------------------------------------- /deps/freetype/src/sfnt/sfdriver.h: -------------------------------------------------------------------------------- 1 | /**************************************************************************** 2 | * 3 | * sfdriver.h 4 | * 5 | * High-level SFNT driver interface (specification). 6 | * 7 | * Copyright (C) 1996-2020 by 8 | * David Turner, Robert Wilhelm, and Werner Lemberg. 9 | * 10 | * This file is part of the FreeType project, and may only be used, 11 | * modified, and distributed under the terms of the FreeType project 12 | * license, LICENSE.TXT. By continuing to use, modify, or distribute 13 | * this file you indicate that you have read the license and 14 | * understand and accept it fully. 15 | * 16 | */ 17 | 18 | 19 | #ifndef SFDRIVER_H_ 20 | #define SFDRIVER_H_ 21 | 22 | 23 | #include 24 | #include FT_MODULE_H 25 | 26 | 27 | FT_BEGIN_HEADER 28 | 29 | FT_DECLARE_MODULE( sfnt_module_class ) 30 | 31 | FT_END_HEADER 32 | 33 | #endif /* SFDRIVER_H_ */ 34 | 35 | 36 | /* END */ 37 | -------------------------------------------------------------------------------- /deps/freetype/src/sfnt/sferrors.h: -------------------------------------------------------------------------------- 1 | /**************************************************************************** 2 | * 3 | * sferrors.h 4 | * 5 | * SFNT error codes (specification only). 6 | * 7 | * Copyright (C) 2001-2020 by 8 | * David Turner, Robert Wilhelm, and Werner Lemberg. 9 | * 10 | * This file is part of the FreeType project, and may only be used, 11 | * modified, and distributed under the terms of the FreeType project 12 | * license, LICENSE.TXT. By continuing to use, modify, or distribute 13 | * this file you indicate that you have read the license and 14 | * understand and accept it fully. 15 | * 16 | */ 17 | 18 | 19 | /************************************************************************** 20 | * 21 | * This file is used to define the SFNT error enumeration constants. 22 | * 23 | */ 24 | 25 | #ifndef SFERRORS_H_ 26 | #define SFERRORS_H_ 27 | 28 | #include FT_MODULE_ERRORS_H 29 | 30 | #undef FTERRORS_H_ 31 | 32 | #undef FT_ERR_PREFIX 33 | #define FT_ERR_PREFIX SFNT_Err_ 34 | #define FT_ERR_BASE FT_Mod_Err_SFNT 35 | 36 | #include FT_ERRORS_H 37 | 38 | #endif /* SFERRORS_H_ */ 39 | 40 | 41 | /* END */ 42 | -------------------------------------------------------------------------------- /deps/freetype/src/sfnt/sfnt.c: -------------------------------------------------------------------------------- 1 | /**************************************************************************** 2 | * 3 | * sfnt.c 4 | * 5 | * Single object library component. 6 | * 7 | * Copyright (C) 1996-2020 by 8 | * David Turner, Robert Wilhelm, and Werner Lemberg. 9 | * 10 | * This file is part of the FreeType project, and may only be used, 11 | * modified, and distributed under the terms of the FreeType project 12 | * license, LICENSE.TXT. By continuing to use, modify, or distribute 13 | * this file you indicate that you have read the license and 14 | * understand and accept it fully. 15 | * 16 | */ 17 | 18 | 19 | #define FT_MAKE_OPTION_SINGLE_OBJECT 20 | #include 21 | 22 | #include "pngshim.c" 23 | #include "sfdriver.c" 24 | #include "sfobjs.c" 25 | #include "sfwoff.c" 26 | #include "sfwoff2.c" 27 | #include "ttbdf.c" 28 | #include "ttcmap.c" 29 | #include "ttcolr.c" 30 | #include "ttcpal.c" 31 | 32 | #include "ttkern.c" 33 | #include "ttload.c" 34 | #include "ttmtx.c" 35 | #include "ttpost.c" 36 | #include "ttsbit.c" 37 | #include "woff2tags.c" 38 | 39 | 40 | /* END */ 41 | -------------------------------------------------------------------------------- /deps/freetype/src/sfnt/sfobjs.h: -------------------------------------------------------------------------------- 1 | /**************************************************************************** 2 | * 3 | * sfobjs.h 4 | * 5 | * SFNT object management (specification). 6 | * 7 | * Copyright (C) 1996-2020 by 8 | * David Turner, Robert Wilhelm, and Werner Lemberg. 9 | * 10 | * This file is part of the FreeType project, and may only be used, 11 | * modified, and distributed under the terms of the FreeType project 12 | * license, LICENSE.TXT. By continuing to use, modify, or distribute 13 | * this file you indicate that you have read the license and 14 | * understand and accept it fully. 15 | * 16 | */ 17 | 18 | 19 | #ifndef SFOBJS_H_ 20 | #define SFOBJS_H_ 21 | 22 | 23 | #include 24 | #include FT_INTERNAL_SFNT_H 25 | #include FT_INTERNAL_OBJECTS_H 26 | 27 | 28 | FT_BEGIN_HEADER 29 | 30 | 31 | FT_LOCAL( FT_Error ) 32 | sfnt_init_face( FT_Stream stream, 33 | TT_Face face, 34 | FT_Int face_instance_index, 35 | FT_Int num_params, 36 | FT_Parameter* params ); 37 | 38 | FT_LOCAL( FT_Error ) 39 | sfnt_load_face( FT_Stream stream, 40 | TT_Face face, 41 | FT_Int face_instance_index, 42 | FT_Int num_params, 43 | FT_Parameter* params ); 44 | 45 | FT_LOCAL( void ) 46 | sfnt_done_face( TT_Face face ); 47 | 48 | FT_LOCAL( FT_Error ) 49 | tt_face_get_name( TT_Face face, 50 | FT_UShort nameid, 51 | FT_String** name ); 52 | 53 | 54 | FT_END_HEADER 55 | 56 | #endif /* SFOBJS_H_ */ 57 | 58 | 59 | /* END */ 60 | -------------------------------------------------------------------------------- /deps/freetype/src/sfnt/sfwoff.h: -------------------------------------------------------------------------------- 1 | /**************************************************************************** 2 | * 3 | * sfwoff.h 4 | * 5 | * WOFFF format management (specification). 6 | * 7 | * Copyright (C) 1996-2020 by 8 | * David Turner, Robert Wilhelm, and Werner Lemberg. 9 | * 10 | * This file is part of the FreeType project, and may only be used, 11 | * modified, and distributed under the terms of the FreeType project 12 | * license, LICENSE.TXT. By continuing to use, modify, or distribute 13 | * this file you indicate that you have read the license and 14 | * understand and accept it fully. 15 | * 16 | */ 17 | 18 | 19 | #ifndef SFWOFF_H_ 20 | #define SFWOFF_H_ 21 | 22 | 23 | #include 24 | #include FT_INTERNAL_SFNT_H 25 | #include FT_INTERNAL_OBJECTS_H 26 | 27 | 28 | FT_BEGIN_HEADER 29 | 30 | 31 | FT_LOCAL( FT_Error ) 32 | woff_open_font( FT_Stream stream, 33 | TT_Face face ); 34 | 35 | 36 | FT_END_HEADER 37 | 38 | #endif /* SFWOFF_H_ */ 39 | 40 | 41 | /* END */ 42 | -------------------------------------------------------------------------------- /deps/freetype/src/sfnt/ttbdf.h: -------------------------------------------------------------------------------- 1 | /**************************************************************************** 2 | * 3 | * ttbdf.h 4 | * 5 | * TrueType and OpenType embedded BDF properties (specification). 6 | * 7 | * Copyright (C) 2005-2020 by 8 | * David Turner, Robert Wilhelm, and Werner Lemberg. 9 | * 10 | * This file is part of the FreeType project, and may only be used, 11 | * modified, and distributed under the terms of the FreeType project 12 | * license, LICENSE.TXT. By continuing to use, modify, or distribute 13 | * this file you indicate that you have read the license and 14 | * understand and accept it fully. 15 | * 16 | */ 17 | 18 | 19 | #ifndef TTBDF_H_ 20 | #define TTBDF_H_ 21 | 22 | 23 | #include 24 | #include "ttload.h" 25 | #include FT_BDF_H 26 | 27 | 28 | FT_BEGIN_HEADER 29 | 30 | 31 | #ifdef TT_CONFIG_OPTION_BDF 32 | 33 | FT_LOCAL( void ) 34 | tt_face_free_bdf_props( TT_Face face ); 35 | 36 | 37 | FT_LOCAL( FT_Error ) 38 | tt_face_find_bdf_prop( TT_Face face, 39 | const char* property_name, 40 | BDF_PropertyRec *aprop ); 41 | 42 | #endif /* TT_CONFIG_OPTION_BDF */ 43 | 44 | 45 | FT_END_HEADER 46 | 47 | #endif /* TTBDF_H_ */ 48 | 49 | 50 | /* END */ 51 | -------------------------------------------------------------------------------- /deps/freetype/src/sfnt/ttcmapc.h: -------------------------------------------------------------------------------- 1 | /**************************************************************************** 2 | * 3 | * ttcmapc.h 4 | * 5 | * TT CMAP classes definitions (specification only). 6 | * 7 | * Copyright (C) 2009-2020 by 8 | * Oran Agra and Mickey Gabel. 9 | * 10 | * This file is part of the FreeType project, and may only be used, 11 | * modified, and distributed under the terms of the FreeType project 12 | * license, LICENSE.TXT. By continuing to use, modify, or distribute 13 | * this file you indicate that you have read the license and 14 | * understand and accept it fully. 15 | * 16 | */ 17 | 18 | 19 | #ifdef TT_CONFIG_CMAP_FORMAT_0 20 | TTCMAPCITEM( tt_cmap0_class_rec ) 21 | #endif 22 | 23 | #ifdef TT_CONFIG_CMAP_FORMAT_2 24 | TTCMAPCITEM( tt_cmap2_class_rec ) 25 | #endif 26 | 27 | #ifdef TT_CONFIG_CMAP_FORMAT_4 28 | TTCMAPCITEM( tt_cmap4_class_rec ) 29 | #endif 30 | 31 | #ifdef TT_CONFIG_CMAP_FORMAT_6 32 | TTCMAPCITEM( tt_cmap6_class_rec ) 33 | #endif 34 | 35 | #ifdef TT_CONFIG_CMAP_FORMAT_8 36 | TTCMAPCITEM( tt_cmap8_class_rec ) 37 | #endif 38 | 39 | #ifdef TT_CONFIG_CMAP_FORMAT_10 40 | TTCMAPCITEM( tt_cmap10_class_rec ) 41 | #endif 42 | 43 | #ifdef TT_CONFIG_CMAP_FORMAT_12 44 | TTCMAPCITEM( tt_cmap12_class_rec ) 45 | #endif 46 | 47 | #ifdef TT_CONFIG_CMAP_FORMAT_13 48 | TTCMAPCITEM( tt_cmap13_class_rec ) 49 | #endif 50 | 51 | #ifdef TT_CONFIG_CMAP_FORMAT_14 52 | TTCMAPCITEM( tt_cmap14_class_rec ) 53 | #endif 54 | 55 | 56 | /* END */ 57 | -------------------------------------------------------------------------------- /deps/freetype/src/sfnt/ttcolr.h: -------------------------------------------------------------------------------- 1 | /**************************************************************************** 2 | * 3 | * ttcolr.h 4 | * 5 | * TrueType and OpenType colored glyph layer support (specification). 6 | * 7 | * Copyright (C) 2018-2020 by 8 | * David Turner, Robert Wilhelm, and Werner Lemberg. 9 | * 10 | * Originally written by Shao Yu Zhang . 11 | * 12 | * This file is part of the FreeType project, and may only be used, 13 | * modified, and distributed under the terms of the FreeType project 14 | * license, LICENSE.TXT. By continuing to use, modify, or distribute 15 | * this file you indicate that you have read the license and 16 | * understand and accept it fully. 17 | * 18 | */ 19 | 20 | 21 | #ifndef __TTCOLR_H__ 22 | #define __TTCOLR_H__ 23 | 24 | 25 | #include 26 | #include "ttload.h" 27 | 28 | 29 | FT_BEGIN_HEADER 30 | 31 | 32 | FT_LOCAL( FT_Error ) 33 | tt_face_load_colr( TT_Face face, 34 | FT_Stream stream ); 35 | 36 | FT_LOCAL( void ) 37 | tt_face_free_colr( TT_Face face ); 38 | 39 | FT_LOCAL( FT_Bool ) 40 | tt_face_get_colr_layer( TT_Face face, 41 | FT_UInt base_glyph, 42 | FT_UInt *aglyph_index, 43 | FT_UInt *acolor_index, 44 | FT_LayerIterator* iterator ); 45 | 46 | FT_LOCAL( FT_Error ) 47 | tt_face_colr_blend_layer( TT_Face face, 48 | FT_UInt color_index, 49 | FT_GlyphSlot dstSlot, 50 | FT_GlyphSlot srcSlot ); 51 | 52 | 53 | FT_END_HEADER 54 | 55 | 56 | #endif /* __TTCOLR_H__ */ 57 | 58 | /* END */ 59 | -------------------------------------------------------------------------------- /deps/freetype/src/sfnt/ttcpal.h: -------------------------------------------------------------------------------- 1 | /**************************************************************************** 2 | * 3 | * ttcpal.h 4 | * 5 | * TrueType and OpenType color palette support (specification). 6 | * 7 | * Copyright (C) 2018-2020 by 8 | * David Turner, Robert Wilhelm, and Werner Lemberg. 9 | * 10 | * Originally written by Shao Yu Zhang . 11 | * 12 | * This file is part of the FreeType project, and may only be used, 13 | * modified, and distributed under the terms of the FreeType project 14 | * license, LICENSE.TXT. By continuing to use, modify, or distribute 15 | * this file you indicate that you have read the license and 16 | * understand and accept it fully. 17 | * 18 | */ 19 | 20 | 21 | #ifndef __TTCPAL_H__ 22 | #define __TTCPAL_H__ 23 | 24 | 25 | #include 26 | #include "ttload.h" 27 | 28 | 29 | FT_BEGIN_HEADER 30 | 31 | 32 | FT_LOCAL( FT_Error ) 33 | tt_face_load_cpal( TT_Face face, 34 | FT_Stream stream ); 35 | 36 | FT_LOCAL( void ) 37 | tt_face_free_cpal( TT_Face face ); 38 | 39 | FT_LOCAL( FT_Error ) 40 | tt_face_palette_set( TT_Face face, 41 | FT_UInt palette_index ); 42 | 43 | 44 | FT_END_HEADER 45 | 46 | 47 | #endif /* __TTCPAL_H__ */ 48 | 49 | /* END */ 50 | -------------------------------------------------------------------------------- /deps/freetype/src/sfnt/ttkern.h: -------------------------------------------------------------------------------- 1 | /**************************************************************************** 2 | * 3 | * ttkern.h 4 | * 5 | * Load the basic TrueType kerning table. This doesn't handle 6 | * kerning data within the GPOS table at the moment. 7 | * 8 | * Copyright (C) 1996-2020 by 9 | * David Turner, Robert Wilhelm, and Werner Lemberg. 10 | * 11 | * This file is part of the FreeType project, and may only be used, 12 | * modified, and distributed under the terms of the FreeType project 13 | * license, LICENSE.TXT. By continuing to use, modify, or distribute 14 | * this file you indicate that you have read the license and 15 | * understand and accept it fully. 16 | * 17 | */ 18 | 19 | 20 | #ifndef TTKERN_H_ 21 | #define TTKERN_H_ 22 | 23 | 24 | #include 25 | #include FT_INTERNAL_STREAM_H 26 | #include FT_INTERNAL_TRUETYPE_TYPES_H 27 | 28 | 29 | FT_BEGIN_HEADER 30 | 31 | 32 | FT_LOCAL( FT_Error ) 33 | tt_face_load_kern( TT_Face face, 34 | FT_Stream stream ); 35 | 36 | FT_LOCAL( void ) 37 | tt_face_done_kern( TT_Face face ); 38 | 39 | FT_LOCAL( FT_Int ) 40 | tt_face_get_kerning( TT_Face face, 41 | FT_UInt left_glyph, 42 | FT_UInt right_glyph ); 43 | 44 | #define TT_FACE_HAS_KERNING( face ) ( (face)->kern_avail_bits != 0 ) 45 | 46 | 47 | FT_END_HEADER 48 | 49 | #endif /* TTKERN_H_ */ 50 | 51 | 52 | /* END */ 53 | -------------------------------------------------------------------------------- /deps/freetype/src/sfnt/ttmtx.h: -------------------------------------------------------------------------------- 1 | /**************************************************************************** 2 | * 3 | * ttmtx.h 4 | * 5 | * Load the metrics tables common to TTF and OTF fonts (specification). 6 | * 7 | * Copyright (C) 2006-2020 by 8 | * David Turner, Robert Wilhelm, and Werner Lemberg. 9 | * 10 | * This file is part of the FreeType project, and may only be used, 11 | * modified, and distributed under the terms of the FreeType project 12 | * license, LICENSE.TXT. By continuing to use, modify, or distribute 13 | * this file you indicate that you have read the license and 14 | * understand and accept it fully. 15 | * 16 | */ 17 | 18 | 19 | #ifndef TTMTX_H_ 20 | #define TTMTX_H_ 21 | 22 | 23 | #include 24 | #include FT_INTERNAL_STREAM_H 25 | #include FT_INTERNAL_TRUETYPE_TYPES_H 26 | 27 | 28 | FT_BEGIN_HEADER 29 | 30 | 31 | FT_LOCAL( FT_Error ) 32 | tt_face_load_hhea( TT_Face face, 33 | FT_Stream stream, 34 | FT_Bool vertical ); 35 | 36 | 37 | FT_LOCAL( FT_Error ) 38 | tt_face_load_hmtx( TT_Face face, 39 | FT_Stream stream, 40 | FT_Bool vertical ); 41 | 42 | 43 | FT_LOCAL( void ) 44 | tt_face_get_metrics( TT_Face face, 45 | FT_Bool vertical, 46 | FT_UInt gindex, 47 | FT_Short* abearing, 48 | FT_UShort* aadvance ); 49 | 50 | FT_END_HEADER 51 | 52 | #endif /* TTMTX_H_ */ 53 | 54 | 55 | /* END */ 56 | -------------------------------------------------------------------------------- /deps/freetype/src/sfnt/ttpost.h: -------------------------------------------------------------------------------- 1 | /**************************************************************************** 2 | * 3 | * ttpost.h 4 | * 5 | * PostScript name table processing for TrueType and OpenType fonts 6 | * (specification). 7 | * 8 | * Copyright (C) 1996-2020 by 9 | * David Turner, Robert Wilhelm, and Werner Lemberg. 10 | * 11 | * This file is part of the FreeType project, and may only be used, 12 | * modified, and distributed under the terms of the FreeType project 13 | * license, LICENSE.TXT. By continuing to use, modify, or distribute 14 | * this file you indicate that you have read the license and 15 | * understand and accept it fully. 16 | * 17 | */ 18 | 19 | 20 | #ifndef TTPOST_H_ 21 | #define TTPOST_H_ 22 | 23 | 24 | #include 25 | #include FT_CONFIG_CONFIG_H 26 | #include FT_INTERNAL_TRUETYPE_TYPES_H 27 | 28 | 29 | FT_BEGIN_HEADER 30 | 31 | 32 | FT_LOCAL( FT_Error ) 33 | tt_face_get_ps_name( TT_Face face, 34 | FT_UInt idx, 35 | FT_String** PSname ); 36 | 37 | FT_LOCAL( void ) 38 | tt_face_free_ps_names( TT_Face face ); 39 | 40 | 41 | FT_END_HEADER 42 | 43 | #endif /* TTPOST_H_ */ 44 | 45 | 46 | /* END */ 47 | -------------------------------------------------------------------------------- /deps/freetype/src/sfnt/ttsbit.h: -------------------------------------------------------------------------------- 1 | /**************************************************************************** 2 | * 3 | * ttsbit.h 4 | * 5 | * TrueType and OpenType embedded bitmap support (specification). 6 | * 7 | * Copyright (C) 1996-2020 by 8 | * David Turner, Robert Wilhelm, and Werner Lemberg. 9 | * 10 | * This file is part of the FreeType project, and may only be used, 11 | * modified, and distributed under the terms of the FreeType project 12 | * license, LICENSE.TXT. By continuing to use, modify, or distribute 13 | * this file you indicate that you have read the license and 14 | * understand and accept it fully. 15 | * 16 | */ 17 | 18 | 19 | #ifndef TTSBIT_H_ 20 | #define TTSBIT_H_ 21 | 22 | 23 | #include 24 | #include "ttload.h" 25 | 26 | 27 | FT_BEGIN_HEADER 28 | 29 | 30 | FT_LOCAL( FT_Error ) 31 | tt_face_load_sbit( TT_Face face, 32 | FT_Stream stream ); 33 | 34 | FT_LOCAL( void ) 35 | tt_face_free_sbit( TT_Face face ); 36 | 37 | 38 | FT_LOCAL( FT_Error ) 39 | tt_face_set_sbit_strike( TT_Face face, 40 | FT_Size_Request req, 41 | FT_ULong* astrike_index ); 42 | 43 | FT_LOCAL( FT_Error ) 44 | tt_face_load_strike_metrics( TT_Face face, 45 | FT_ULong strike_index, 46 | FT_Size_Metrics* metrics ); 47 | 48 | FT_LOCAL( FT_Error ) 49 | tt_face_load_sbit_image( TT_Face face, 50 | FT_ULong strike_index, 51 | FT_UInt glyph_index, 52 | FT_UInt load_flags, 53 | FT_Stream stream, 54 | FT_Bitmap *map, 55 | TT_SBit_MetricsRec *metrics ); 56 | 57 | 58 | FT_END_HEADER 59 | 60 | #endif /* TTSBIT_H_ */ 61 | 62 | 63 | /* END */ 64 | -------------------------------------------------------------------------------- /deps/freetype/src/sfnt/woff2tags.h: -------------------------------------------------------------------------------- 1 | /**************************************************************************** 2 | * 3 | * woff2tags.h 4 | * 5 | * WOFFF2 Font table tags (specification). 6 | * 7 | * Copyright (C) 1996-2020 by 8 | * Nikhil Ramakrishnan, David Turner, Robert Wilhelm, and Werner Lemberg. 9 | * 10 | * This file is part of the FreeType project, and may only be used, 11 | * modified, and distributed under the terms of the FreeType project 12 | * license, LICENSE.TXT. By continuing to use, modify, or distribute 13 | * this file you indicate that you have read the license and 14 | * understand and accept it fully. 15 | * 16 | */ 17 | 18 | 19 | #ifndef WOFF2TAGS_H 20 | #define WOFF2TAGS_H 21 | 22 | 23 | #include 24 | #include FT_INTERNAL_OBJECTS_H 25 | 26 | 27 | FT_BEGIN_HEADER 28 | 29 | 30 | FT_LOCAL( FT_ULong ) 31 | woff2_known_tags( FT_Byte index ); 32 | 33 | 34 | FT_END_HEADER 35 | 36 | #endif /* WOFF2TAGS_H */ 37 | 38 | 39 | /* END */ 40 | -------------------------------------------------------------------------------- /deps/freetype/src/smooth/ftgrays.h: -------------------------------------------------------------------------------- 1 | /**************************************************************************** 2 | * 3 | * ftgrays.h 4 | * 5 | * FreeType smooth renderer declaration 6 | * 7 | * Copyright (C) 1996-2020 by 8 | * David Turner, Robert Wilhelm, and Werner Lemberg. 9 | * 10 | * This file is part of the FreeType project, and may only be used, 11 | * modified, and distributed under the terms of the FreeType project 12 | * license, LICENSE.TXT. By continuing to use, modify, or distribute 13 | * this file you indicate that you have read the license and 14 | * understand and accept it fully. 15 | * 16 | */ 17 | 18 | 19 | #ifndef FTGRAYS_H_ 20 | #define FTGRAYS_H_ 21 | 22 | #ifdef __cplusplus 23 | extern "C" { 24 | #endif 25 | 26 | 27 | #ifdef STANDALONE_ 28 | #include "ftimage.h" 29 | #else 30 | #include 31 | #include FT_IMAGE_H 32 | #endif 33 | 34 | 35 | /************************************************************************** 36 | * 37 | * To make ftgrays.h independent from configuration files we check 38 | * whether FT_EXPORT_VAR has been defined already. 39 | * 40 | * On some systems and compilers (Win32 mostly), an extra keyword is 41 | * necessary to compile the library as a DLL. 42 | */ 43 | #ifndef FT_EXPORT_VAR 44 | #define FT_EXPORT_VAR( x ) extern x 45 | #endif 46 | 47 | FT_EXPORT_VAR( const FT_Raster_Funcs ) ft_grays_raster; 48 | 49 | 50 | #ifdef __cplusplus 51 | } 52 | #endif 53 | 54 | #endif /* FTGRAYS_H_ */ 55 | 56 | 57 | /* END */ 58 | -------------------------------------------------------------------------------- /deps/freetype/src/smooth/ftsmerrs.h: -------------------------------------------------------------------------------- 1 | /**************************************************************************** 2 | * 3 | * ftsmerrs.h 4 | * 5 | * smooth renderer error codes (specification only). 6 | * 7 | * Copyright (C) 2001-2020 by 8 | * David Turner, Robert Wilhelm, and Werner Lemberg. 9 | * 10 | * This file is part of the FreeType project, and may only be used, 11 | * modified, and distributed under the terms of the FreeType project 12 | * license, LICENSE.TXT. By continuing to use, modify, or distribute 13 | * this file you indicate that you have read the license and 14 | * understand and accept it fully. 15 | * 16 | */ 17 | 18 | 19 | /************************************************************************** 20 | * 21 | * This file is used to define the smooth renderer error enumeration 22 | * constants. 23 | * 24 | */ 25 | 26 | #ifndef FTSMERRS_H_ 27 | #define FTSMERRS_H_ 28 | 29 | #include FT_MODULE_ERRORS_H 30 | 31 | #undef FTERRORS_H_ 32 | 33 | #undef FT_ERR_PREFIX 34 | #define FT_ERR_PREFIX Smooth_Err_ 35 | #define FT_ERR_BASE FT_Mod_Err_Smooth 36 | 37 | #include FT_ERRORS_H 38 | 39 | #endif /* FTSMERRS_H_ */ 40 | 41 | 42 | /* END */ 43 | -------------------------------------------------------------------------------- /deps/freetype/src/smooth/ftsmooth.h: -------------------------------------------------------------------------------- 1 | /**************************************************************************** 2 | * 3 | * ftsmooth.h 4 | * 5 | * Anti-aliasing renderer interface (specification). 6 | * 7 | * Copyright (C) 1996-2020 by 8 | * David Turner, Robert Wilhelm, and Werner Lemberg. 9 | * 10 | * This file is part of the FreeType project, and may only be used, 11 | * modified, and distributed under the terms of the FreeType project 12 | * license, LICENSE.TXT. By continuing to use, modify, or distribute 13 | * this file you indicate that you have read the license and 14 | * understand and accept it fully. 15 | * 16 | */ 17 | 18 | 19 | #ifndef FTSMOOTH_H_ 20 | #define FTSMOOTH_H_ 21 | 22 | 23 | #include 24 | #include FT_RENDER_H 25 | 26 | 27 | FT_BEGIN_HEADER 28 | 29 | 30 | FT_DECLARE_RENDERER( ft_smooth_renderer_class ) 31 | 32 | FT_DECLARE_RENDERER( ft_smooth_lcd_renderer_class ) 33 | 34 | FT_DECLARE_RENDERER( ft_smooth_lcdv_renderer_class ) 35 | 36 | 37 | FT_END_HEADER 38 | 39 | #endif /* FTSMOOTH_H_ */ 40 | 41 | 42 | /* END */ 43 | -------------------------------------------------------------------------------- /deps/freetype/src/smooth/smooth.c: -------------------------------------------------------------------------------- 1 | /**************************************************************************** 2 | * 3 | * smooth.c 4 | * 5 | * FreeType anti-aliasing rasterer module component (body only). 6 | * 7 | * Copyright (C) 1996-2020 by 8 | * David Turner, Robert Wilhelm, and Werner Lemberg. 9 | * 10 | * This file is part of the FreeType project, and may only be used, 11 | * modified, and distributed under the terms of the FreeType project 12 | * license, LICENSE.TXT. By continuing to use, modify, or distribute 13 | * this file you indicate that you have read the license and 14 | * understand and accept it fully. 15 | * 16 | */ 17 | 18 | 19 | #define FT_MAKE_OPTION_SINGLE_OBJECT 20 | #include 21 | 22 | #include "ftgrays.c" 23 | #include "ftsmooth.c" 24 | 25 | 26 | /* END */ 27 | -------------------------------------------------------------------------------- /deps/freetype/src/truetype/truetype.c: -------------------------------------------------------------------------------- 1 | /**************************************************************************** 2 | * 3 | * truetype.c 4 | * 5 | * FreeType TrueType driver component (body only). 6 | * 7 | * Copyright (C) 1996-2020 by 8 | * David Turner, Robert Wilhelm, and Werner Lemberg. 9 | * 10 | * This file is part of the FreeType project, and may only be used, 11 | * modified, and distributed under the terms of the FreeType project 12 | * license, LICENSE.TXT. By continuing to use, modify, or distribute 13 | * this file you indicate that you have read the license and 14 | * understand and accept it fully. 15 | * 16 | */ 17 | 18 | 19 | #define FT_MAKE_OPTION_SINGLE_OBJECT 20 | #include 21 | 22 | #include "ttdriver.c" /* driver interface */ 23 | #include "ttgload.c" /* glyph loader */ 24 | #include "ttgxvar.c" /* gx distortable font */ 25 | #include "ttinterp.c" 26 | #include "ttobjs.c" /* object manager */ 27 | #include "ttpload.c" /* tables loader */ 28 | #include "ttsubpix.c" 29 | 30 | 31 | /* END */ 32 | -------------------------------------------------------------------------------- /deps/freetype/src/truetype/ttdriver.h: -------------------------------------------------------------------------------- 1 | /**************************************************************************** 2 | * 3 | * ttdriver.h 4 | * 5 | * High-level TrueType driver interface (specification). 6 | * 7 | * Copyright (C) 1996-2020 by 8 | * David Turner, Robert Wilhelm, and Werner Lemberg. 9 | * 10 | * This file is part of the FreeType project, and may only be used, 11 | * modified, and distributed under the terms of the FreeType project 12 | * license, LICENSE.TXT. By continuing to use, modify, or distribute 13 | * this file you indicate that you have read the license and 14 | * understand and accept it fully. 15 | * 16 | */ 17 | 18 | 19 | #ifndef TTDRIVER_H_ 20 | #define TTDRIVER_H_ 21 | 22 | 23 | #include 24 | #include FT_INTERNAL_DRIVER_H 25 | 26 | 27 | FT_BEGIN_HEADER 28 | 29 | FT_DECLARE_DRIVER( tt_driver_class ) 30 | 31 | FT_END_HEADER 32 | 33 | #endif /* TTDRIVER_H_ */ 34 | 35 | 36 | /* END */ 37 | -------------------------------------------------------------------------------- /deps/freetype/src/truetype/tterrors.h: -------------------------------------------------------------------------------- 1 | /**************************************************************************** 2 | * 3 | * tterrors.h 4 | * 5 | * TrueType error codes (specification only). 6 | * 7 | * Copyright (C) 2001-2020 by 8 | * David Turner, Robert Wilhelm, and Werner Lemberg. 9 | * 10 | * This file is part of the FreeType project, and may only be used, 11 | * modified, and distributed under the terms of the FreeType project 12 | * license, LICENSE.TXT. By continuing to use, modify, or distribute 13 | * this file you indicate that you have read the license and 14 | * understand and accept it fully. 15 | * 16 | */ 17 | 18 | 19 | /************************************************************************** 20 | * 21 | * This file is used to define the TrueType error enumeration 22 | * constants. 23 | * 24 | */ 25 | 26 | #ifndef TTERRORS_H_ 27 | #define TTERRORS_H_ 28 | 29 | #include FT_MODULE_ERRORS_H 30 | 31 | #undef FTERRORS_H_ 32 | 33 | #undef FT_ERR_PREFIX 34 | #define FT_ERR_PREFIX TT_Err_ 35 | #define FT_ERR_BASE FT_Mod_Err_TrueType 36 | 37 | #include FT_ERRORS_H 38 | 39 | #endif /* TTERRORS_H_ */ 40 | 41 | 42 | /* END */ 43 | -------------------------------------------------------------------------------- /deps/freetype/src/truetype/ttgload.h: -------------------------------------------------------------------------------- 1 | /**************************************************************************** 2 | * 3 | * ttgload.h 4 | * 5 | * TrueType Glyph Loader (specification). 6 | * 7 | * Copyright (C) 1996-2020 by 8 | * David Turner, Robert Wilhelm, and Werner Lemberg. 9 | * 10 | * This file is part of the FreeType project, and may only be used, 11 | * modified, and distributed under the terms of the FreeType project 12 | * license, LICENSE.TXT. By continuing to use, modify, or distribute 13 | * this file you indicate that you have read the license and 14 | * understand and accept it fully. 15 | * 16 | */ 17 | 18 | 19 | #ifndef TTGLOAD_H_ 20 | #define TTGLOAD_H_ 21 | 22 | 23 | #include 24 | #include "ttobjs.h" 25 | 26 | #ifdef TT_USE_BYTECODE_INTERPRETER 27 | #include "ttinterp.h" 28 | #endif 29 | 30 | 31 | FT_BEGIN_HEADER 32 | 33 | 34 | FT_LOCAL( void ) 35 | TT_Init_Glyph_Loading( TT_Face face ); 36 | 37 | FT_LOCAL( void ) 38 | TT_Get_HMetrics( TT_Face face, 39 | FT_UInt idx, 40 | FT_Short* lsb, 41 | FT_UShort* aw ); 42 | 43 | FT_LOCAL( void ) 44 | TT_Get_VMetrics( TT_Face face, 45 | FT_UInt idx, 46 | FT_Pos yMax, 47 | FT_Short* tsb, 48 | FT_UShort* ah ); 49 | 50 | FT_LOCAL( FT_Error ) 51 | TT_Load_Glyph( TT_Size size, 52 | TT_GlyphSlot glyph, 53 | FT_UInt glyph_index, 54 | FT_Int32 load_flags ); 55 | 56 | 57 | FT_END_HEADER 58 | 59 | #endif /* TTGLOAD_H_ */ 60 | 61 | 62 | /* END */ 63 | -------------------------------------------------------------------------------- /deps/freetype/src/type1/t1afm.h: -------------------------------------------------------------------------------- 1 | /**************************************************************************** 2 | * 3 | * t1afm.h 4 | * 5 | * AFM support for Type 1 fonts (specification). 6 | * 7 | * Copyright (C) 1996-2020 by 8 | * David Turner, Robert Wilhelm, and Werner Lemberg. 9 | * 10 | * This file is part of the FreeType project, and may only be used, 11 | * modified, and distributed under the terms of the FreeType project 12 | * license, LICENSE.TXT. By continuing to use, modify, or distribute 13 | * this file you indicate that you have read the license and 14 | * understand and accept it fully. 15 | * 16 | */ 17 | 18 | 19 | #ifndef T1AFM_H_ 20 | #define T1AFM_H_ 21 | 22 | #include 23 | #include "t1objs.h" 24 | #include FT_INTERNAL_TYPE1_TYPES_H 25 | 26 | FT_BEGIN_HEADER 27 | 28 | 29 | FT_LOCAL( FT_Error ) 30 | T1_Read_Metrics( FT_Face face, 31 | FT_Stream stream ); 32 | 33 | FT_LOCAL( void ) 34 | T1_Done_Metrics( FT_Memory memory, 35 | AFM_FontInfo fi ); 36 | 37 | FT_LOCAL( void ) 38 | T1_Get_Kerning( AFM_FontInfo fi, 39 | FT_UInt glyph1, 40 | FT_UInt glyph2, 41 | FT_Vector* kerning ); 42 | 43 | FT_LOCAL( FT_Error ) 44 | T1_Get_Track_Kerning( FT_Face face, 45 | FT_Fixed ptsize, 46 | FT_Int degree, 47 | FT_Fixed* kerning ); 48 | 49 | FT_END_HEADER 50 | 51 | #endif /* T1AFM_H_ */ 52 | 53 | 54 | /* END */ 55 | -------------------------------------------------------------------------------- /deps/freetype/src/type1/t1driver.h: -------------------------------------------------------------------------------- 1 | /**************************************************************************** 2 | * 3 | * t1driver.h 4 | * 5 | * High-level Type 1 driver interface (specification). 6 | * 7 | * Copyright (C) 1996-2020 by 8 | * David Turner, Robert Wilhelm, and Werner Lemberg. 9 | * 10 | * This file is part of the FreeType project, and may only be used, 11 | * modified, and distributed under the terms of the FreeType project 12 | * license, LICENSE.TXT. By continuing to use, modify, or distribute 13 | * this file you indicate that you have read the license and 14 | * understand and accept it fully. 15 | * 16 | */ 17 | 18 | 19 | #ifndef T1DRIVER_H_ 20 | #define T1DRIVER_H_ 21 | 22 | 23 | #include 24 | #include FT_INTERNAL_DRIVER_H 25 | 26 | 27 | FT_BEGIN_HEADER 28 | 29 | FT_EXPORT_VAR( const FT_Driver_ClassRec ) t1_driver_class; 30 | 31 | FT_END_HEADER 32 | 33 | #endif /* T1DRIVER_H_ */ 34 | 35 | 36 | /* END */ 37 | -------------------------------------------------------------------------------- /deps/freetype/src/type1/t1errors.h: -------------------------------------------------------------------------------- 1 | /**************************************************************************** 2 | * 3 | * t1errors.h 4 | * 5 | * Type 1 error codes (specification only). 6 | * 7 | * Copyright (C) 2001-2020 by 8 | * David Turner, Robert Wilhelm, and Werner Lemberg. 9 | * 10 | * This file is part of the FreeType project, and may only be used, 11 | * modified, and distributed under the terms of the FreeType project 12 | * license, LICENSE.TXT. By continuing to use, modify, or distribute 13 | * this file you indicate that you have read the license and 14 | * understand and accept it fully. 15 | * 16 | */ 17 | 18 | 19 | /************************************************************************** 20 | * 21 | * This file is used to define the Type 1 error enumeration constants. 22 | * 23 | */ 24 | 25 | #ifndef T1ERRORS_H_ 26 | #define T1ERRORS_H_ 27 | 28 | #include FT_MODULE_ERRORS_H 29 | 30 | #undef FTERRORS_H_ 31 | 32 | #undef FT_ERR_PREFIX 33 | #define FT_ERR_PREFIX T1_Err_ 34 | #define FT_ERR_BASE FT_Mod_Err_Type1 35 | 36 | #include FT_ERRORS_H 37 | 38 | #endif /* T1ERRORS_H_ */ 39 | 40 | 41 | /* END */ 42 | -------------------------------------------------------------------------------- /deps/freetype/src/type1/t1gload.h: -------------------------------------------------------------------------------- 1 | /**************************************************************************** 2 | * 3 | * t1gload.h 4 | * 5 | * Type 1 Glyph Loader (specification). 6 | * 7 | * Copyright (C) 1996-2020 by 8 | * David Turner, Robert Wilhelm, and Werner Lemberg. 9 | * 10 | * This file is part of the FreeType project, and may only be used, 11 | * modified, and distributed under the terms of the FreeType project 12 | * license, LICENSE.TXT. By continuing to use, modify, or distribute 13 | * this file you indicate that you have read the license and 14 | * understand and accept it fully. 15 | * 16 | */ 17 | 18 | 19 | #ifndef T1GLOAD_H_ 20 | #define T1GLOAD_H_ 21 | 22 | 23 | #include 24 | #include "t1objs.h" 25 | 26 | 27 | FT_BEGIN_HEADER 28 | 29 | 30 | FT_LOCAL( FT_Error ) 31 | T1_Compute_Max_Advance( T1_Face face, 32 | FT_Pos* max_advance ); 33 | 34 | FT_LOCAL( FT_Error ) 35 | T1_Get_Advances( FT_Face face, 36 | FT_UInt first, 37 | FT_UInt count, 38 | FT_Int32 load_flags, 39 | FT_Fixed* advances ); 40 | 41 | FT_LOCAL( FT_Error ) 42 | T1_Load_Glyph( FT_GlyphSlot glyph, 43 | FT_Size size, 44 | FT_UInt glyph_index, 45 | FT_Int32 load_flags ); 46 | 47 | 48 | FT_END_HEADER 49 | 50 | #endif /* T1GLOAD_H_ */ 51 | 52 | 53 | /* END */ 54 | -------------------------------------------------------------------------------- /deps/freetype/src/type1/type1.c: -------------------------------------------------------------------------------- 1 | /**************************************************************************** 2 | * 3 | * type1.c 4 | * 5 | * FreeType Type 1 driver component (body only). 6 | * 7 | * Copyright (C) 1996-2020 by 8 | * David Turner, Robert Wilhelm, and Werner Lemberg. 9 | * 10 | * This file is part of the FreeType project, and may only be used, 11 | * modified, and distributed under the terms of the FreeType project 12 | * license, LICENSE.TXT. By continuing to use, modify, or distribute 13 | * this file you indicate that you have read the license and 14 | * understand and accept it fully. 15 | * 16 | */ 17 | 18 | 19 | #define FT_MAKE_OPTION_SINGLE_OBJECT 20 | #include 21 | 22 | #include "t1afm.c" 23 | #include "t1driver.c" 24 | #include "t1gload.c" 25 | #include "t1load.c" 26 | #include "t1objs.c" 27 | #include "t1parse.c" 28 | 29 | 30 | /* END */ 31 | -------------------------------------------------------------------------------- /deps/freetype/src/type42/t42drivr.h: -------------------------------------------------------------------------------- 1 | /**************************************************************************** 2 | * 3 | * t42drivr.h 4 | * 5 | * High-level Type 42 driver interface (specification). 6 | * 7 | * Copyright (C) 2002-2020 by 8 | * Roberto Alameda. 9 | * 10 | * This file is part of the FreeType project, and may only be used, 11 | * modified, and distributed under the terms of the FreeType project 12 | * license, LICENSE.TXT. By continuing to use, modify, or distribute 13 | * this file you indicate that you have read the license and 14 | * understand and accept it fully. 15 | * 16 | */ 17 | 18 | 19 | #ifndef T42DRIVR_H_ 20 | #define T42DRIVR_H_ 21 | 22 | 23 | #include 24 | #include FT_INTERNAL_DRIVER_H 25 | 26 | 27 | FT_BEGIN_HEADER 28 | 29 | FT_EXPORT_VAR( const FT_Driver_ClassRec ) t42_driver_class; 30 | 31 | FT_END_HEADER 32 | 33 | 34 | #endif /* T42DRIVR_H_ */ 35 | 36 | 37 | /* END */ 38 | -------------------------------------------------------------------------------- /deps/freetype/src/type42/t42error.h: -------------------------------------------------------------------------------- 1 | /**************************************************************************** 2 | * 3 | * t42error.h 4 | * 5 | * Type 42 error codes (specification only). 6 | * 7 | * Copyright (C) 2002-2020 by 8 | * David Turner, Robert Wilhelm, and Werner Lemberg. 9 | * 10 | * This file is part of the FreeType project, and may only be used, 11 | * modified, and distributed under the terms of the FreeType project 12 | * license, LICENSE.TXT. By continuing to use, modify, or distribute 13 | * this file you indicate that you have read the license and 14 | * understand and accept it fully. 15 | * 16 | */ 17 | 18 | 19 | /************************************************************************** 20 | * 21 | * This file is used to define the Type 42 error enumeration constants. 22 | * 23 | */ 24 | 25 | #ifndef T42ERROR_H_ 26 | #define T42ERROR_H_ 27 | 28 | #include FT_MODULE_ERRORS_H 29 | 30 | #undef FTERRORS_H_ 31 | 32 | #undef FT_ERR_PREFIX 33 | #define FT_ERR_PREFIX T42_Err_ 34 | #define FT_ERR_BASE FT_Mod_Err_Type42 35 | 36 | #include FT_ERRORS_H 37 | 38 | #endif /* T42ERROR_H_ */ 39 | 40 | 41 | /* END */ 42 | -------------------------------------------------------------------------------- /deps/freetype/src/type42/t42types.h: -------------------------------------------------------------------------------- 1 | /**************************************************************************** 2 | * 3 | * t42types.h 4 | * 5 | * Type 42 font data types (specification only). 6 | * 7 | * Copyright (C) 2002-2020 by 8 | * Roberto Alameda. 9 | * 10 | * This file is part of the FreeType project, and may only be used, 11 | * modified, and distributed under the terms of the FreeType project 12 | * license, LICENSE.TXT. By continuing to use, modify, or distribute 13 | * this file you indicate that you have read the license and 14 | * understand and accept it fully. 15 | * 16 | */ 17 | 18 | 19 | #ifndef T42TYPES_H_ 20 | #define T42TYPES_H_ 21 | 22 | 23 | #include 24 | #include FT_FREETYPE_H 25 | #include FT_TYPE1_TABLES_H 26 | #include FT_INTERNAL_TYPE1_TYPES_H 27 | #include FT_INTERNAL_POSTSCRIPT_HINTS_H 28 | 29 | 30 | FT_BEGIN_HEADER 31 | 32 | 33 | typedef struct T42_FaceRec_ 34 | { 35 | FT_FaceRec root; 36 | T1_FontRec type1; 37 | const void* psnames; 38 | const void* psaux; 39 | #if 0 40 | const void* afm_data; 41 | #endif 42 | FT_Byte* ttf_data; 43 | FT_Long ttf_size; 44 | FT_Face ttf_face; 45 | FT_CharMapRec charmaprecs[2]; 46 | FT_CharMap charmaps[2]; 47 | PS_UnicodesRec unicode_map; 48 | 49 | } T42_FaceRec, *T42_Face; 50 | 51 | 52 | FT_END_HEADER 53 | 54 | #endif /* T42TYPES_H_ */ 55 | 56 | 57 | /* END */ 58 | -------------------------------------------------------------------------------- /deps/freetype/src/type42/type42.c: -------------------------------------------------------------------------------- 1 | /**************************************************************************** 2 | * 3 | * type42.c 4 | * 5 | * FreeType Type 42 driver component. 6 | * 7 | * Copyright (C) 2002-2020 by 8 | * David Turner, Robert Wilhelm, and Werner Lemberg. 9 | * 10 | * This file is part of the FreeType project, and may only be used, 11 | * modified, and distributed under the terms of the FreeType project 12 | * license, LICENSE.TXT. By continuing to use, modify, or distribute 13 | * this file you indicate that you have read the license and 14 | * understand and accept it fully. 15 | * 16 | */ 17 | 18 | 19 | #define FT_MAKE_OPTION_SINGLE_OBJECT 20 | #include 21 | 22 | #include "t42drivr.c" 23 | #include "t42objs.c" 24 | #include "t42parse.c" 25 | 26 | 27 | /* END */ 28 | -------------------------------------------------------------------------------- /deps/freetype/src/winfonts/fnterrs.h: -------------------------------------------------------------------------------- 1 | /**************************************************************************** 2 | * 3 | * fnterrs.h 4 | * 5 | * Win FNT/FON error codes (specification only). 6 | * 7 | * Copyright (C) 2001-2020 by 8 | * David Turner, Robert Wilhelm, and Werner Lemberg. 9 | * 10 | * This file is part of the FreeType project, and may only be used, 11 | * modified, and distributed under the terms of the FreeType project 12 | * license, LICENSE.TXT. By continuing to use, modify, or distribute 13 | * this file you indicate that you have read the license and 14 | * understand and accept it fully. 15 | * 16 | */ 17 | 18 | 19 | /************************************************************************** 20 | * 21 | * This file is used to define the Windows FNT/FON error enumeration 22 | * constants. 23 | * 24 | */ 25 | 26 | #ifndef FNTERRS_H_ 27 | #define FNTERRS_H_ 28 | 29 | #include FT_MODULE_ERRORS_H 30 | 31 | #undef FTERRORS_H_ 32 | 33 | #undef FT_ERR_PREFIX 34 | #define FT_ERR_PREFIX FNT_Err_ 35 | #define FT_ERR_BASE FT_Mod_Err_Winfonts 36 | 37 | #include FT_ERRORS_H 38 | 39 | #endif /* FNTERRS_H_ */ 40 | 41 | 42 | /* END */ 43 | -------------------------------------------------------------------------------- /deps/ft2build.h: -------------------------------------------------------------------------------- 1 | /**************************************************************************** 2 | * 3 | * ft2build.h 4 | * 5 | * FreeType 2 build and setup macros. 6 | * 7 | * Copyright (C) 1996-2020 by 8 | * David Turner, Robert Wilhelm, and Werner Lemberg. 9 | * 10 | * This file is part of the FreeType project, and may only be used, 11 | * modified, and distributed under the terms of the FreeType project 12 | * license, LICENSE.TXT. By continuing to use, modify, or distribute 13 | * this file you indicate that you have read the license and 14 | * understand and accept it fully. 15 | * 16 | */ 17 | 18 | 19 | /************************************************************************** 20 | * 21 | * This is the 'entry point' for FreeType header file inclusions. It is 22 | * the only header file which should be included directly; all other 23 | * FreeType header files should be accessed with macro names (after 24 | * including `ft2build.h`). 25 | * 26 | * A typical example is 27 | * 28 | * ``` 29 | * #include 30 | * #include FT_FREETYPE_H 31 | * ``` 32 | * 33 | */ 34 | 35 | 36 | #ifndef FT2BUILD_H_ 37 | #define FT2BUILD_H_ 38 | 39 | #define FT2_BUILD_LIBRARY 40 | #include 41 | 42 | #endif /* FT2BUILD_H_ */ 43 | 44 | 45 | /* END */ 46 | -------------------------------------------------------------------------------- /deps/jpeg/cmyk.h: -------------------------------------------------------------------------------- 1 | /* 2 | * cmyk.h 3 | * 4 | * Copyright (C) 2017-2018, D. R. Commander. 5 | * For conditions of distribution and use, see the accompanying README.ijg 6 | * file. 7 | * 8 | * This file contains convenience functions for performing quick & dirty 9 | * CMYK<->RGB conversion. This algorithm is suitable for testing purposes 10 | * only. Properly converting between CMYK and RGB requires a color management 11 | * system. 12 | */ 13 | 14 | #ifndef CMYK_H 15 | #define CMYK_H 16 | 17 | #include 18 | #define JPEG_INTERNALS 19 | #include 20 | #include "jconfigint.h" 21 | 22 | 23 | /* Fully reversible */ 24 | 25 | INLINE 26 | LOCAL(void) 27 | rgb_to_cmyk(JSAMPLE r, JSAMPLE g, JSAMPLE b, JSAMPLE *c, JSAMPLE *m, 28 | JSAMPLE *y, JSAMPLE *k) 29 | { 30 | double ctmp = 1.0 - ((double)r / 255.0); 31 | double mtmp = 1.0 - ((double)g / 255.0); 32 | double ytmp = 1.0 - ((double)b / 255.0); 33 | double ktmp = MIN(MIN(ctmp, mtmp), ytmp); 34 | 35 | if (ktmp == 1.0) ctmp = mtmp = ytmp = 0.0; 36 | else { 37 | ctmp = (ctmp - ktmp) / (1.0 - ktmp); 38 | mtmp = (mtmp - ktmp) / (1.0 - ktmp); 39 | ytmp = (ytmp - ktmp) / (1.0 - ktmp); 40 | } 41 | *c = (JSAMPLE)(255.0 - ctmp * 255.0 + 0.5); 42 | *m = (JSAMPLE)(255.0 - mtmp * 255.0 + 0.5); 43 | *y = (JSAMPLE)(255.0 - ytmp * 255.0 + 0.5); 44 | *k = (JSAMPLE)(255.0 - ktmp * 255.0 + 0.5); 45 | } 46 | 47 | 48 | /* Fully reversible only for C/M/Y/K values generated with rgb_to_cmyk() */ 49 | 50 | INLINE 51 | LOCAL(void) 52 | cmyk_to_rgb(JSAMPLE c, JSAMPLE m, JSAMPLE y, JSAMPLE k, JSAMPLE *r, JSAMPLE *g, 53 | JSAMPLE *b) 54 | { 55 | *r = (JSAMPLE)((double)c * (double)k / 255.0 + 0.5); 56 | *g = (JSAMPLE)((double)m * (double)k / 255.0 + 0.5); 57 | *b = (JSAMPLE)((double)y * (double)k / 255.0 + 0.5); 58 | } 59 | 60 | 61 | #endif /* CMYK_H */ 62 | -------------------------------------------------------------------------------- /deps/jpeg/jchuff.h: -------------------------------------------------------------------------------- 1 | /* 2 | * jchuff.h 3 | * 4 | * This file was part of the Independent JPEG Group's software: 5 | * Copyright (C) 1991-1997, Thomas G. Lane. 6 | * It was modified by The libjpeg-turbo Project to include only code relevant 7 | * to libjpeg-turbo. 8 | * For conditions of distribution and use, see the accompanying README.ijg 9 | * file. 10 | * 11 | * This file contains declarations for Huffman entropy encoding routines 12 | * that are shared between the sequential encoder (jchuff.c) and the 13 | * progressive encoder (jcphuff.c). No other modules need to see these. 14 | */ 15 | 16 | /* The legal range of a DCT coefficient is 17 | * -1024 .. +1023 for 8-bit data; 18 | * -16384 .. +16383 for 12-bit data. 19 | * Hence the magnitude should always fit in 10 or 14 bits respectively. 20 | */ 21 | 22 | #if BITS_IN_JSAMPLE == 8 23 | #define MAX_COEF_BITS 10 24 | #else 25 | #define MAX_COEF_BITS 14 26 | #endif 27 | 28 | /* Derived data constructed for each Huffman table */ 29 | 30 | typedef struct { 31 | unsigned int ehufco[256]; /* code for each symbol */ 32 | char ehufsi[256]; /* length of code for each symbol */ 33 | /* If no code has been allocated for a symbol S, ehufsi[S] contains 0 */ 34 | } c_derived_tbl; 35 | 36 | /* Expand a Huffman table definition into the derived format */ 37 | EXTERN(void) jpeg_make_c_derived_tbl(j_compress_ptr cinfo, boolean isDC, 38 | int tblno, c_derived_tbl **pdtbl); 39 | 40 | /* Generate an optimal table definition given the specified counts */ 41 | EXTERN(void) jpeg_gen_optimal_table(j_compress_ptr cinfo, JHUFF_TBL *htbl, 42 | long freq[]); 43 | -------------------------------------------------------------------------------- /deps/jpeg/jconfigint.h: -------------------------------------------------------------------------------- 1 | /* libjpeg-turbo build number */ 2 | #define BUILD "@BUILD@" 3 | 4 | /* Compiler's inline keyword */ 5 | #undef inline 6 | 7 | /* How to obtain function inlining. */ 8 | #ifdef _MSC_VER 9 | #define INLINE __forceinline 10 | #else 11 | #define INLINE inline __attribute__((always_inline)) 12 | #endif 13 | 14 | /* How to obtain thread-local storage */ 15 | #ifdef _MSC_VER 16 | #define THREAD_LOCAL __declspec(thread) 17 | #else 18 | #define THREAD_LOCAL __thread 19 | #endif 20 | 21 | /* Define to the full name of this package. */ 22 | #define PACKAGE_NAME "@CMAKE_PROJECT_NAME@" 23 | 24 | /* Version number of package */ 25 | #define VERSION "2.0.90" 26 | 27 | /* The size of `size_t', as computed by sizeof. */ 28 | #ifdef _MSC_VER 29 | #define SIZEOF_SIZE_T 8 // TODO: what is the equivalent for MSVC? 30 | #else 31 | #define SIZEOF_SIZE_T __SIZEOF_POINTER__ 32 | #endif 33 | 34 | /* Define if your compiler has __builtin_ctzl() and sizeof(unsigned long) == sizeof(size_t). */ 35 | #ifndef _MSC_VER 36 | #define HAVE_BUILTIN_CTZL 37 | #endif 38 | 39 | /* Define to 1 if you have the header file. */ 40 | #if !defined(__APPLE__) && defined(__has_include) 41 | #if __has_include() 42 | #define HAVE_INTRIN_H 43 | #endif 44 | #endif 45 | 46 | #if defined(_MSC_VER) && defined(HAVE_INTRIN_H) 47 | #if (SIZEOF_SIZE_T == 8) 48 | //#define HAVE_BITSCANFORWARD64 49 | #elif (SIZEOF_SIZE_T == 4) 50 | //#define HAVE_BITSCANFORWARD 51 | #endif 52 | #endif 53 | 54 | #if defined(__has_attribute) 55 | #if __has_attribute(fallthrough) 56 | #define FALLTHROUGH __attribute__((fallthrough)); 57 | #else 58 | #define FALLTHROUGH 59 | #endif 60 | #else 61 | #define FALLTHROUGH 62 | #endif 63 | -------------------------------------------------------------------------------- /deps/jpeg/jdmaster.h: -------------------------------------------------------------------------------- 1 | /* 2 | * jdmaster.h 3 | * 4 | * This file was part of the Independent JPEG Group's software: 5 | * Copyright (C) 1991-1995, Thomas G. Lane. 6 | * For conditions of distribution and use, see the accompanying README.ijg 7 | * file. 8 | * 9 | * This file contains the master control structure for the JPEG decompressor. 10 | */ 11 | 12 | /* Private state */ 13 | 14 | typedef struct { 15 | struct jpeg_decomp_master pub; /* public fields */ 16 | 17 | int pass_number; /* # of passes completed */ 18 | 19 | boolean using_merged_upsample; /* TRUE if using merged upsample/cconvert */ 20 | 21 | /* Saved references to initialized quantizer modules, 22 | * in case we need to switch modes. 23 | */ 24 | struct jpeg_color_quantizer *quantizer_1pass; 25 | struct jpeg_color_quantizer *quantizer_2pass; 26 | } my_decomp_master; 27 | 28 | typedef my_decomp_master *my_master_ptr; 29 | -------------------------------------------------------------------------------- /deps/jpeg/jdmerge.h: -------------------------------------------------------------------------------- 1 | /* 2 | * jdmerge.h 3 | * 4 | * This file was part of the Independent JPEG Group's software: 5 | * Copyright (C) 1994-1996, Thomas G. Lane. 6 | * libjpeg-turbo Modifications: 7 | * Copyright (C) 2020, D. R. Commander. 8 | * For conditions of distribution and use, see the accompanying README.ijg 9 | * file. 10 | */ 11 | 12 | #define JPEG_INTERNALS 13 | #include "jpeglib.h" 14 | 15 | #ifdef UPSAMPLE_MERGING_SUPPORTED 16 | 17 | 18 | /* Private subobject */ 19 | 20 | typedef struct { 21 | struct jpeg_upsampler pub; /* public fields */ 22 | 23 | /* Pointer to routine to do actual upsampling/conversion of one row group */ 24 | void (*upmethod) (j_decompress_ptr cinfo, JSAMPIMAGE input_buf, 25 | JDIMENSION in_row_group_ctr, JSAMPARRAY output_buf); 26 | 27 | /* Private state for YCC->RGB conversion */ 28 | int *Cr_r_tab; /* => table for Cr to R conversion */ 29 | int *Cb_b_tab; /* => table for Cb to B conversion */ 30 | JLONG *Cr_g_tab; /* => table for Cr to G conversion */ 31 | JLONG *Cb_g_tab; /* => table for Cb to G conversion */ 32 | 33 | /* For 2:1 vertical sampling, we produce two output rows at a time. 34 | * We need a "spare" row buffer to hold the second output row if the 35 | * application provides just a one-row buffer; we also use the spare 36 | * to discard the dummy last row if the image height is odd. 37 | */ 38 | JSAMPROW spare_row; 39 | boolean spare_full; /* T if spare buffer is occupied */ 40 | 41 | JDIMENSION out_row_width; /* samples per output row */ 42 | JDIMENSION rows_to_go; /* counts rows remaining in image */ 43 | } my_merged_upsampler; 44 | 45 | typedef my_merged_upsampler *my_merged_upsample_ptr; 46 | 47 | #endif /* UPSAMPLE_MERGING_SUPPORTED */ 48 | -------------------------------------------------------------------------------- /deps/jpeg/jdsample.h: -------------------------------------------------------------------------------- 1 | /* 2 | * jdsample.h 3 | * 4 | * This file was part of the Independent JPEG Group's software: 5 | * Copyright (C) 1991-1996, Thomas G. Lane. 6 | * For conditions of distribution and use, see the accompanying README.ijg 7 | * file. 8 | */ 9 | 10 | #define JPEG_INTERNALS 11 | #include "jpeglib.h" 12 | 13 | 14 | /* Pointer to routine to upsample a single component */ 15 | typedef void (*upsample1_ptr) (j_decompress_ptr cinfo, 16 | jpeg_component_info *compptr, 17 | JSAMPARRAY input_data, 18 | JSAMPARRAY *output_data_ptr); 19 | 20 | /* Private subobject */ 21 | 22 | typedef struct { 23 | struct jpeg_upsampler pub; /* public fields */ 24 | 25 | /* Color conversion buffer. When using separate upsampling and color 26 | * conversion steps, this buffer holds one upsampled row group until it 27 | * has been color converted and output. 28 | * Note: we do not allocate any storage for component(s) which are full-size, 29 | * ie do not need rescaling. The corresponding entry of color_buf[] is 30 | * simply set to point to the input data array, thereby avoiding copying. 31 | */ 32 | JSAMPARRAY color_buf[MAX_COMPONENTS]; 33 | 34 | /* Per-component upsampling method pointers */ 35 | upsample1_ptr methods[MAX_COMPONENTS]; 36 | 37 | int next_row_out; /* counts rows emitted from color_buf */ 38 | JDIMENSION rows_to_go; /* counts rows remaining in image */ 39 | 40 | /* Height of an input row group for each component. */ 41 | int rowgroup_height[MAX_COMPONENTS]; 42 | 43 | /* These arrays save pixel expansion factors so that int_expand need not 44 | * recompute them each time. They are unused for other upsampling methods. 45 | */ 46 | UINT8 h_expand[MAX_COMPONENTS]; 47 | UINT8 v_expand[MAX_COMPONENTS]; 48 | } my_upsampler; 49 | 50 | typedef my_upsampler *my_upsample_ptr; 51 | -------------------------------------------------------------------------------- /deps/jpeg/jpegcomp.h: -------------------------------------------------------------------------------- 1 | /* 2 | * jpegcomp.h 3 | * 4 | * Copyright (C) 2010, 2020, D. R. Commander. 5 | * For conditions of distribution and use, see the accompanying README.ijg 6 | * file. 7 | * 8 | * JPEG compatibility macros 9 | * These declarations are considered internal to the JPEG library; most 10 | * applications using the library shouldn't need to include this file. 11 | */ 12 | 13 | #if JPEG_LIB_VERSION >= 70 14 | #define _DCT_scaled_size DCT_h_scaled_size 15 | #define _DCT_h_scaled_size DCT_h_scaled_size 16 | #define _DCT_v_scaled_size DCT_v_scaled_size 17 | #define _min_DCT_scaled_size min_DCT_h_scaled_size 18 | #define _min_DCT_h_scaled_size min_DCT_h_scaled_size 19 | #define _min_DCT_v_scaled_size min_DCT_v_scaled_size 20 | #define _jpeg_width jpeg_width 21 | #define _jpeg_height jpeg_height 22 | #define JERR_ARITH_NOTIMPL JERR_NOT_COMPILED 23 | #else 24 | #define _DCT_scaled_size DCT_scaled_size 25 | #define _DCT_h_scaled_size DCT_scaled_size 26 | #define _DCT_v_scaled_size DCT_scaled_size 27 | #define _min_DCT_scaled_size min_DCT_scaled_size 28 | #define _min_DCT_h_scaled_size min_DCT_scaled_size 29 | #define _min_DCT_v_scaled_size min_DCT_scaled_size 30 | #define _jpeg_width image_width 31 | #define _jpeg_height image_height 32 | #endif 33 | -------------------------------------------------------------------------------- /deps/jpeg/jversion.h: -------------------------------------------------------------------------------- 1 | /* 2 | * jversion.h 3 | * 4 | * This file was part of the Independent JPEG Group's software: 5 | * Copyright (C) 1991-2020, Thomas G. Lane, Guido Vollbeding. 6 | * libjpeg-turbo Modifications: 7 | * Copyright (C) 2010, 2012-2021, D. R. Commander. 8 | * For conditions of distribution and use, see the accompanying README.ijg 9 | * file. 10 | * 11 | * This file contains software version identification. 12 | */ 13 | 14 | 15 | #if JPEG_LIB_VERSION >= 80 16 | 17 | #define JVERSION "8d 15-Jan-2012" 18 | 19 | #elif JPEG_LIB_VERSION >= 70 20 | 21 | #define JVERSION "7 27-Jun-2009" 22 | 23 | #else 24 | 25 | #define JVERSION "6b 27-Mar-1998" 26 | 27 | #endif 28 | 29 | /* 30 | * NOTE: It is our convention to place the authors in the following order: 31 | * - libjpeg-turbo authors (2009-) in descending order of the date of their 32 | * most recent contribution to the project, then in ascending order of the 33 | * date of their first contribution to the project, then in alphabetical 34 | * order 35 | * - Upstream authors in descending order of the date of the first inclusion of 36 | * their code 37 | */ 38 | 39 | #define JCOPYRIGHT \ 40 | "Copyright (C) 2009-2021 D. R. Commander\n" \ 41 | "Copyright (C) 2015, 2020 Google, Inc.\n" \ 42 | "Copyright (C) 2019-2020 Arm Limited\n" \ 43 | "Copyright (C) 2015-2016, 2018 Matthieu Darbois\n" \ 44 | "Copyright (C) 2011-2016 Siarhei Siamashka\n" \ 45 | "Copyright (C) 2015 Intel Corporation\n" \ 46 | "Copyright (C) 2013-2014 Linaro Limited\n" \ 47 | "Copyright (C) 2013-2014 MIPS Technologies, Inc.\n" \ 48 | "Copyright (C) 2009, 2012 Pierre Ossman for Cendio AB\n" \ 49 | "Copyright (C) 2009-2011 Nokia Corporation and/or its subsidiary(-ies)\n" \ 50 | "Copyright (C) 1999-2006 MIYASAKA Masaru\n" \ 51 | "Copyright (C) 1991-2020 Thomas G. Lane, Guido Vollbeding" 52 | 53 | #define JCOPYRIGHT_SHORT \ 54 | "Copyright (C) 1991-2021 The libjpeg-turbo Project and many others" 55 | -------------------------------------------------------------------------------- /deps/jpeg/simd/arm/align.h: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (C) 2020, Arm Limited. All Rights Reserved. 3 | * 4 | * This software is provided 'as-is', without any express or implied 5 | * warranty. In no event will the authors be held liable for any damages 6 | * arising from the use of this software. 7 | * 8 | * Permission is granted to anyone to use this software for any purpose, 9 | * including commercial applications, and to alter it and redistribute it 10 | * freely, subject to the following restrictions: 11 | * 12 | * 1. The origin of this software must not be misrepresented; you must not 13 | * claim that you wrote the original software. If you use this software 14 | * in a product, an acknowledgment in the product documentation would be 15 | * appreciated but is not required. 16 | * 2. Altered source versions must be plainly marked as such, and must not be 17 | * misrepresented as being the original software. 18 | * 3. This notice may not be removed or altered from any source distribution. 19 | */ 20 | 21 | /* How to obtain memory alignment for structures and variables */ 22 | #if defined(_MSC_VER) 23 | #define ALIGN(alignment) __declspec(align(alignment)) 24 | #elif defined(__clang__) || defined(__GNUC__) 25 | #define ALIGN(alignment) __attribute__((aligned(alignment))) 26 | #else 27 | #error "Unknown compiler" 28 | #endif 29 | -------------------------------------------------------------------------------- /deps/jpeg/simd/arm/neon-compat.h.in: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (C) 2020, D. R. Commander. All Rights Reserved. 3 | * Copyright (C) 2020-2021, Arm Limited. All Rights Reserved. 4 | * 5 | * This software is provided 'as-is', without any express or implied 6 | * warranty. In no event will the authors be held liable for any damages 7 | * arising from the use of this software. 8 | * 9 | * Permission is granted to anyone to use this software for any purpose, 10 | * including commercial applications, and to alter it and redistribute it 11 | * freely, subject to the following restrictions: 12 | * 13 | * 1. The origin of this software must not be misrepresented; you must not 14 | * claim that you wrote the original software. If you use this software 15 | * in a product, an acknowledgment in the product documentation would be 16 | * appreciated but is not required. 17 | * 2. Altered source versions must be plainly marked as such, and must not be 18 | * misrepresented as being the original software. 19 | * 3. This notice may not be removed or altered from any source distribution. 20 | */ 21 | 22 | #cmakedefine HAVE_VLD1_S16_X3 23 | #cmakedefine HAVE_VLD1_U16_X2 24 | #cmakedefine HAVE_VLD1Q_U8_X4 25 | 26 | /* Define compiler-independent count-leading-zeros and byte-swap macros */ 27 | #if defined(_MSC_VER) && !defined(__clang__) 28 | #define BUILTIN_CLZ(x) _CountLeadingZeros(x) 29 | #define BUILTIN_CLZLL(x) _CountLeadingZeros64(x) 30 | #define BUILTIN_BSWAP64(x) _byteswap_uint64(x) 31 | #elif defined(__clang__) || defined(__GNUC__) 32 | #define BUILTIN_CLZ(x) __builtin_clz(x) 33 | #define BUILTIN_CLZLL(x) __builtin_clzll(x) 34 | #define BUILTIN_BSWAP64(x) __builtin_bswap64(x) 35 | #else 36 | #error "Unknown compiler" 37 | #endif 38 | -------------------------------------------------------------------------------- /deps/jpeg/simd/mips64/jcsample.h: -------------------------------------------------------------------------------- 1 | /* 2 | * jcsample.h 3 | * 4 | * This file was part of the Independent JPEG Group's software: 5 | * Copyright (C) 1991-1996, Thomas G. Lane. 6 | * For conditions of distribution and use, see the accompanying README.ijg 7 | * file. 8 | */ 9 | 10 | LOCAL(void) 11 | expand_right_edge(JSAMPARRAY image_data, int num_rows, JDIMENSION input_cols, 12 | JDIMENSION output_cols) 13 | { 14 | register JSAMPROW ptr; 15 | register JSAMPLE pixval; 16 | register int count; 17 | int row; 18 | int numcols = (int)(output_cols - input_cols); 19 | 20 | if (numcols > 0) { 21 | for (row = 0; row < num_rows; row++) { 22 | ptr = image_data[row] + input_cols; 23 | pixval = ptr[-1]; 24 | for (count = numcols; count > 0; count--) 25 | *ptr++ = pixval; 26 | } 27 | } 28 | } 29 | -------------------------------------------------------------------------------- /deps/jpeg/simd/nasm/jdct.inc: -------------------------------------------------------------------------------- 1 | ; 2 | ; jdct.inc - private declarations for forward & reverse DCT subsystems 3 | ; 4 | ; Copyright 2009 Pierre Ossman for Cendio AB 5 | ; Copyright (C) 2018, D. R. Commander. 6 | ; 7 | ; Based on the x86 SIMD extension for IJG JPEG library 8 | ; Copyright (C) 1999-2006, MIYASAKA Masaru. 9 | ; For conditions of distribution and use, see copyright notice in jsimdext.inc 10 | 11 | ; Each IDCT routine is responsible for range-limiting its results and 12 | ; converting them to unsigned form (0..MAXJSAMPLE). The raw outputs could 13 | ; be quite far out of range if the input data is corrupt, so a bulletproof 14 | ; range-limiting step is required. We use a mask-and-table-lookup method 15 | ; to do the combined operations quickly. 16 | ; 17 | %define RANGE_MASK (MAXJSAMPLE * 4 + 3) ; 2 bits wider than legal samples 18 | 19 | %define ROW(n, b, s) ((b) + (n) * (s)) 20 | %define COL(n, b, s) ((b) + (n) * (s) * DCTSIZE) 21 | 22 | %define DWBLOCK(m, n, b, s) \ 23 | ((b) + (m) * DCTSIZE * (s) + (n) * SIZEOF_DWORD) 24 | %define MMBLOCK(m, n, b, s) \ 25 | ((b) + (m) * DCTSIZE * (s) + (n) * SIZEOF_MMWORD) 26 | %define XMMBLOCK(m, n, b, s) \ 27 | ((b) + (m) * DCTSIZE * (s) + (n) * SIZEOF_XMMWORD) 28 | %define YMMBLOCK(m, n, b, s) \ 29 | ((b) + (m) * DCTSIZE * (s) + (n) * SIZEOF_YMMWORD) 30 | 31 | ; -------------------------------------------------------------------------- 32 | -------------------------------------------------------------------------------- /deps/jpeg/simd/powerpc/jcsample.h: -------------------------------------------------------------------------------- 1 | /* 2 | * jcsample.h 3 | * 4 | * This file was part of the Independent JPEG Group's software: 5 | * Copyright (C) 1991-1996, Thomas G. Lane. 6 | * For conditions of distribution and use, see the accompanying README.ijg 7 | * file. 8 | */ 9 | 10 | LOCAL(void) 11 | expand_right_edge(JSAMPARRAY image_data, int num_rows, JDIMENSION input_cols, 12 | JDIMENSION output_cols) 13 | { 14 | register JSAMPROW ptr; 15 | register JSAMPLE pixval; 16 | register int count; 17 | int row; 18 | int numcols = (int)(output_cols - input_cols); 19 | 20 | if (numcols > 0) { 21 | for (row = 0; row < num_rows; row++) { 22 | ptr = image_data[row] + input_cols; 23 | pixval = ptr[-1]; 24 | for (count = numcols; count > 0; count--) 25 | *ptr++ = pixval; 26 | } 27 | } 28 | } 29 | -------------------------------------------------------------------------------- /deps/keycode/linux_fromhid.c: -------------------------------------------------------------------------------- 1 | /* This file is automatically generated. */ 2 | #include "keytable.h" 3 | const unsigned char KEYCODE_LINUX_FROM_HID[256] = { 4 | 255,255,255,255,30,48,46,32,18,33,34,35,23,36,37,38,50,49,24,25,16,19,31,20, 5 | 22,47,17,45,21,44,2,3,4,5,6,7,8,9,10,11,255,1,14,15,57,12,13,26,27,43,255, 6 | 39,40,41,51,52,53,58,59,60,61,62,63,64,65,66,67,68,87,88,255,70,119,110,102, 7 | 104,111,107,109,106,105,108,103,69,98,55,74,78,96,79,80,81,75,76,77,71,72, 8 | 73,82,83,86,255,255,117,183,184,185,186,187,188,189,190,191,192,193,194,255, 9 | 255,139,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255, 10 | 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,99, 11 | 255,255,255,28,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255, 12 | 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255, 13 | 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255, 14 | 255,255,255,255,255,255,255,255,255,255,255,255,29,42,56,125,97,54,100,126, 15 | 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255, 16 | 255,255,255,255,255 17 | }; 18 | -------------------------------------------------------------------------------- /deps/keycode/linux_name.c: -------------------------------------------------------------------------------- 1 | /* This file is automatically generated. */ 2 | #include "keytable.h" 3 | static const char KEYCODE_LINUX_NAME_DATA[] = 4 | "\0'\0,\0;\0A\0B\0Backspace\0C\0Caps Lock\0D\0Delete\0E\0End\0Escape\0F\0F" 5 | "1\0F10\0F11\0F12\0F13\0F14\0F15\0F16\0F17\0F18\0F19\0F2\0F20\0F21\0F22\0F" 6 | "23\0F24\0F3\0F4\0F5\0F6\0F7\0F8\0F9\0G\0H\0Home\0I\0Insert\0J\0K\0KP *\0K" 7 | "P +\0KP -\0KP .\0KP /\0KP 0\0KP 1\0KP 2\0KP 3\0KP 4\0KP 5\0KP 6\0KP 7\0KP" 8 | " 8\0KP 9\0KP =\0KP Enter\0KP NumLock\0L\0Left\0Left Alt\0Left Control\0Le" 9 | "ft Shift\0Left Super\0M\0Menu\0N\0Non-US \\\0O\0P\0Page Down\0Page Up\0Pa" 10 | "use\0Q\0R\0Right\0Right Alt\0Right Control\0Right Shift\0Right Super\0S\0" 11 | "Scroll Lock\0Space\0SysReq/Attention\0T\0Tab\0U\0V\0W\0X\0Y\0Z\0[\0]\0`"; 12 | static const unsigned short KEYCODE_LINUX_NAME_OFFSET[] = { 13 | 0,0,0,0,7,9,21,33,42,55,144,146,153,162,164,266,317,324,335,337,363,365,421, 14 | 458,464,466,468,470,472,474,58,70,74,78,82,86,90,94,98,62,0,48,11,460,435, 15 | 179,244,476,478,333,0,5,1,480,3,184,189,23,57,100,123,126,129,132,135,138, 16 | 141,60,64,68,0,423,357,155,148,349,35,44,339,367,268,344,354,255,186,166, 17 | 176,171,246,196,201,206,211,216,221,226,231,236,191,181,326,0,0,241,72,76, 18 | 80,84,88,92,96,103,107,111,115,119,0,0,319,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 19 | 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,441,0,0,0,249,0,0,0,0,0,0,0,0,0,0,0,0, 20 | 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 21 | 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,282,295,273,306,383,397,373,409 22 | }; 23 | const char *keycode_linux_name(unsigned index) { 24 | unsigned offset; 25 | if (232 <= index) 26 | return 0; 27 | offset = KEYCODE_LINUX_NAME_OFFSET[index]; 28 | if (offset == 0) 29 | return 0; 30 | return KEYCODE_LINUX_NAME_DATA + offset; 31 | } 32 | -------------------------------------------------------------------------------- /deps/keycode/linux_tohid.c: -------------------------------------------------------------------------------- 1 | /* This file is automatically generated. */ 2 | #include "keytable.h" 3 | const unsigned char KEYCODE_LINUX_TO_HID[256] = { 4 | 0,41,30,31,32,33,34,35,36,37,38,39,45,46,42,43,20,26,8,21,23,28,24,12,18,19, 5 | 47,48,158,224,4,22,7,9,10,11,13,14,15,51,52,53,225,49,29,27,6,25,5,17,16,54, 6 | 55,56,229,85,226,44,57,58,59,60,61,62,63,64,65,66,67,83,71,95,96,97,86,92, 7 | 93,94,87,89,90,91,98,99,0,0,100,68,69,0,0,0,0,0,0,0,88,228,84,154,230,0,74, 8 | 82,75,80,79,77,81,78,73,76,0,0,0,0,0,103,0,72,0,0,0,0,0,227,231,0,0,0,0,0,0, 9 | 0,0,0,0,0,0,118,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 10 | 0,0,0,0,0,0,0,0,0,0,0,0,0,104,105,106,107,108,109,110,111,112,113,114,115,0, 11 | 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 12 | 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 13 | }; 14 | unsigned keycode_linux_to_hid(unsigned scancode) { 15 | if (scancode >= 256) 16 | return 0; 17 | return KEYCODE_LINUX_TO_HID[scancode]; 18 | } 19 | -------------------------------------------------------------------------------- /deps/keycode/macos_fromhid.c: -------------------------------------------------------------------------------- 1 | /* This file is automatically generated. */ 2 | #include "keytable.h" 3 | const unsigned char KEYCODE_MACOS_FROM_HID[256] = { 4 | 255,255,255,255,0,11,8,2,14,3,5,4,34,38,40,37,46,45,31,35,12,15,1,17,32,9, 5 | 13,7,16,6,18,19,20,21,23,22,26,28,25,29,255,53,51,48,49,27,24,33,30,42,255, 6 | 41,39,50,43,47,44,57,122,120,99,118,96,97,98,100,101,109,103,111,255,255, 7 | 255,255,115,116,117,119,121,124,123,125,126,255,75,67,78,69,76,83,84,85,86, 8 | 87,88,89,91,92,82,255,255,255,255,81,105,107,113,106,64,79,80,90,255,255, 9 | 255,255,255,114,255,255,255,255,255,255,255,255,255,74,255,255,255,255,255, 10 | 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255, 11 | 255,255,255,255,255,255,36,255,255,255,255,255,255,255,255,255,255,255,255, 12 | 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255, 13 | 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255, 14 | 255,255,255,255,255,255,255,71,255,255,255,65,255,255,255,59,56,58,55,62,60, 15 | 61,54,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255, 16 | 255,255,255,255,255,255,255 17 | }; 18 | -------------------------------------------------------------------------------- /deps/keycode/macos_modifier.c: -------------------------------------------------------------------------------- 1 | /* Copyright 2019 Dietrich Epp 2 | This file is licensed under the terms of the MIT license. See LICENSE.txt 3 | for details. */ 4 | #include "keytable.h" 5 | 6 | /* For modifiers, we receive NSEventTypeFlagsChanged. This contains the keycode 7 | of the modifier which changed, but in order to tell the difference between 8 | key up and key down, we have to examine the modifier flags. This maps the 9 | modifiers to their associated flags. 10 | 11 | The flag values can be found in IOLLEvent.h. Note that we do not include the 12 | function key. This is by design. */ 13 | static const unsigned KEYCODE_MACOS_MODIFIERS[] = { 14 | 0x00000010, /* Right Command: NX_DEVICERCMDKEYMASK */ 15 | 0x00000008, /* Left Command: NX_DEVICELCMDKEYMASK */ 16 | 0x00000002, /* Left Shift: NX_DEVICELSHIFTKEYMASK */ 17 | 0x00010000, /* Caps Lock: NX_ALPHASHIFTMASK */ 18 | 0x00000020, /* Left Option: NX_DEVICELALTKEYMASK */ 19 | 0x00000001, /* Left Control: NX_DEVICELCTLKEYMASK */ 20 | 0x00000004, /* Right Shift: NX_DEVICERSHIFTKEYMASK */ 21 | 0x00000040, /* Right Option: NX_DEVICERALTKEYMASK */ 22 | 0x00002000, /* Right Control NX_DEVICERCTLKEYMASK */ 23 | }; 24 | 25 | unsigned keycode_macos_modifier(unsigned macos_keycode) { 26 | if (54 <= macos_keycode && macos_keycode <= 62) { 27 | return KEYCODE_MACOS_MODIFIERS[macos_keycode - 54]; 28 | } 29 | return 0; 30 | } 31 | -------------------------------------------------------------------------------- /deps/keycode/macos_name.c: -------------------------------------------------------------------------------- 1 | /* This file is automatically generated. */ 2 | #include "keytable.h" 3 | static const char KEYCODE_MACOS_NAME_DATA[] = 4 | "\0'\0,\0.\0;\0A\0B\0C\0Caps Lock\0D\0Delete\0Delete Forward\0E\0End\0Esca" 5 | "pe\0F\0F1\0F10\0F11\0F12\0F13\0F14\0F15\0F16\0F17\0F18\0F19\0F2\0F20\0F3" 6 | "\0F4\0F5\0F6\0F7\0F8\0F9\0G\0H\0Help\0Home\0I\0J\0K\0KP *\0KP +\0KP -\0KP" 7 | " /\0KP 0\0KP 1\0KP 2\0KP 3\0KP 4\0KP 5\0KP 6\0KP 7\0KP 8\0KP 9\0KP =\0KP " 8 | "Clear\0KP Decimal\0KP Enter\0L\0Left\0Left Command\0Left Control\0Left Op" 9 | "tion\0Left Shift\0M\0Mute\0N\0O\0P\0Page Down\0Page Up\0Q\0R\0Return\0Rig" 10 | "ht\0Right Command\0Right Control\0Right Option\0Right Shift\0S\0Space\0T" 11 | "\0Tab\0U\0V\0W\0X\0Y\0Z\0[\0\\\0]\0`"; 12 | static const unsigned short KEYCODE_MACOS_NAME_OFFSET[] = { 13 | 0,0,0,0,9,11,13,25,49,62,135,137,149,151,153,259,315,322,324,326,346,348, 14 | 416,424,430,432,434,436,438,440,65,77,81,85,89,93,97,101,105,69,0,55,27,426, 15 | 418,168,228,442,446,444,0,7,1,448,3,5,173,15,64,107,114,117,120,123,126,129, 16 | 132,67,71,75,0,0,0,0,144,338,34,51,328,357,261,333,343,0,170,155,165,160, 17 | 250,180,185,190,195,200,205,210,215,220,175,0,0,0,0,225,79,83,87,91,95,99, 18 | 103,110,0,0,0,0,0,139,0,0,0,0,0,0,0,0,0,317,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 19 | 0,0,0,0,0,0,0,0,0,0,0,0,0,0,350,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 20 | 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,230,0, 21 | 0,0,239,0,0,0,279,304,292,266,377,404,391,363 22 | }; 23 | const char *keycode_macos_name(unsigned index) { 24 | unsigned offset; 25 | if (232 <= index) 26 | return 0; 27 | offset = KEYCODE_MACOS_NAME_OFFSET[index]; 28 | if (offset == 0) 29 | return 0; 30 | return KEYCODE_MACOS_NAME_DATA + offset; 31 | } 32 | -------------------------------------------------------------------------------- /deps/keycode/macos_tohid.c: -------------------------------------------------------------------------------- 1 | /* This file is automatically generated. */ 2 | #include "keytable.h" 3 | const unsigned char KEYCODE_MACOS_TO_HID[128] = { 4 | 4,22,7,9,11,10,29,27,6,25,0,5,20,26,8,21,28,23,30,31,32,33,35,34,46,38,36, 5 | 45,37,39,48,18,24,47,12,19,158,15,13,52,14,51,49,54,56,17,16,55,43,44,53,42, 6 | 0,41,231,227,225,57,226,224,229,230,228,0,108,220,0,85,0,87,0,216,0,0,127, 7 | 84,88,0,86,109,110,103,98,89,90,91,92,93,94,95,111,96,97,0,0,0,62,63,64,60, 8 | 65,66,0,68,0,104,107,105,0,67,0,69,0,106,117,74,75,76,61,77,59,78,58,80,79, 9 | 81,82,0 10 | }; 11 | unsigned keycode_macos_to_hid(unsigned scancode) { 12 | if (scancode >= 128) 13 | return 0; 14 | return KEYCODE_MACOS_TO_HID[scancode]; 15 | } 16 | -------------------------------------------------------------------------------- /deps/keycode/windows_fromhid.c: -------------------------------------------------------------------------------- 1 | /* This file is automatically generated. */ 2 | #include "keytable.h" 3 | const unsigned char KEYCODE_WINDOWS_FROM_HID[256] = { 4 | 255,255,255,255,30,48,46,32,18,33,34,35,23,36,37,38,50,49,24,25,16,19,31,20, 5 | 22,47,17,45,21,44,2,3,4,5,6,7,8,9,10,11,255,1,14,15,255,12,13,26,27,43,255, 6 | 39,40,41,51,52,53,58,59,60,61,62,63,64,65,66,67,68,87,88,183,70,69,210,199, 7 | 201,211,207,209,205,203,208,200,255,255,255,255,255,255,255,255,255,255,255, 8 | 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255, 9 | 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255, 10 | 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255, 11 | 255,255,255,255,255,255,255,28,255,255,255,255,255,255,255,255,255,255,255, 12 | 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255, 13 | 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255, 14 | 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,29,42,56, 15 | 219,157,54,184,220,255,255,255,255,255,255,255,255,255,255,255,255,255,255, 16 | 255,255,255,255,255,255,255,255,255,255 17 | }; 18 | -------------------------------------------------------------------------------- /deps/keycode/windows_lparam.c: -------------------------------------------------------------------------------- 1 | /* Copyright 2019 Dietrich Epp 2 | This file is licensed under the terms of the MIT license. See LICENSE.txt 3 | for details. */ 4 | #include "keytable.h" 5 | 6 | unsigned keycode_windows_from_lparam(unsigned lparam) { 7 | return ((lparam >> 16) & 0x7f) | ((lparam & (1 << 24)) != 0 ? 0x80 : 0); 8 | } 9 | -------------------------------------------------------------------------------- /deps/keycode/windows_name.c: -------------------------------------------------------------------------------- 1 | /* This file is automatically generated. */ 2 | #include "keytable.h" 3 | static const char KEYCODE_WINDOWS_NAME_DATA[] = 4 | "\0'\0,\0-\0.\0/\0;\0=\0A\0B\0Backspace\0C\0Caps Lock\0D\0Delete\0E\0End\0" 5 | "Enter\0Escape\0F\0F1\0F10\0F11\0F12\0F2\0F3\0F4\0F5\0F6\0F7\0F8\0F9\0G\0H" 6 | "\0Home\0I\0Insert\0J\0K\0L\0Left\0Left Alt\0Left Control\0Left Shift\0Lef" 7 | "t Windows\0M\0N\0O\0P\0Page Down\0Page Up\0Pause\0Print Screen\0Q\0R\0Rig" 8 | "ht\0Right Alt\0Right Control\0Right Shift\0Right Windows\0S\0Scroll Lock" 9 | "\0T\0Tab\0U\0V\0W\0X\0Y\0Z\0[\0\\\0]\0`"; 10 | static const unsigned short KEYCODE_WINDOWS_NAME_OFFSET[] = { 11 | 0,0,0,0,15,17,29,41,50,69,110,112,119,128,130,132,185,187,189,191,230,232, 12 | 290,304,310,312,314,316,318,320,72,84,90,93,96,99,102,105,108,76,0,62,19, 13 | 306,0,5,13,322,326,324,0,11,1,328,3,7,9,31,71,86,89,92,95,98,101,104,107,74, 14 | 78,82,217,292,211,121,114,203,43,52,193,234,134,198,208,0,0,0,0,0,0,0,0,0,0, 15 | 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 16 | 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,56,0,0,0,0,0,0,0,0,0, 17 | 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 18 | 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,148,161,139,172,250,264,240,276 19 | }; 20 | const char *keycode_windows_name(unsigned index) { 21 | unsigned offset; 22 | if (232 <= index) 23 | return 0; 24 | offset = KEYCODE_WINDOWS_NAME_OFFSET[index]; 25 | if (offset == 0) 26 | return 0; 27 | return KEYCODE_WINDOWS_NAME_DATA + offset; 28 | } 29 | -------------------------------------------------------------------------------- /deps/keycode/windows_rawname.c: -------------------------------------------------------------------------------- 1 | /* This file is automatically generated. */ 2 | #include "keytable.h" 3 | static const char KEYCODE_WINDOWS_RAWNAME_DATA[] = 4 | "\0A\0B\0Backslash\0C\0Caps Lock\0Comma\0D\0Delete\0Delete Forward\0E\0End" 5 | "\0Equals\0Escape\0F\0F1\0F10\0F11\0F12\0F2\0F3\0F4\0F5\0F6\0F7\0F8\0F9\0G" 6 | "\0Grave\0H\0Home\0Insert\0J\0K\0L\0Left\0Left Alt\0Left Bracket\0Left Con" 7 | "trol\0Left GUI\0Left Shift\0M\0Minus\0N\0O\0P\0Page Down\0Page Up\0Pause" 8 | "\0Period\0Print Screen\0Q\0Quote\0R\0Return\0Right\0Right Alt\0Right Brac" 9 | "ket\0Right Control\0Right GUI\0Right Shift\0S\0Scroll Lock\0Semicolon\0Sl" 10 | "ash\0T\0Tab\0U\0V\0W\0X\0Y\0Z"; 11 | static const unsigned short KEYCODE_WINDOWS_RAWNAME_OFFSET[] = { 12 | 0,70,80,92,98,101,104,107,110,113,116,84,208,63,35,379,264,387,57,272,377, 13 | 391,383,193,216,218,160,297,274,173,1,347,33,77,118,126,140,142,144,361,266, 14 | 120,195,5,393,389,15,385,3,214,206,27,244,371,335,0,151,0,17,79,94,97,100, 15 | 103,106,109,112,115,82,238,349,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,86,90,0,0,0, 16 | 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 17 | 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,311,0,0,0,0,0,0,0,0,0, 18 | 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,251,287,0,0,0,0,0,0,0,0,0,0,0,0,0,0,128,235, 19 | 230,0,146,0,281,0,59,225,220,133,42,0,0,0,0,0,0,0,186,325 20 | }; 21 | const char *keycode_windows_rawname(unsigned index) { 22 | unsigned offset; 23 | if (221 <= index) 24 | return 0; 25 | offset = KEYCODE_WINDOWS_RAWNAME_OFFSET[index]; 26 | if (offset == 0) 27 | return 0; 28 | return KEYCODE_WINDOWS_RAWNAME_DATA + offset; 29 | } 30 | -------------------------------------------------------------------------------- /deps/keycode/windows_tohid.c: -------------------------------------------------------------------------------- 1 | /* This file is automatically generated. */ 2 | #include "keytable.h" 3 | const unsigned char KEYCODE_WINDOWS_TO_HID[256] = { 4 | 0,41,30,31,32,33,34,35,36,37,38,39,45,46,42,43,20,26,8,21,23,28,24,12,18,19, 5 | 47,48,158,224,4,22,7,9,10,11,13,14,15,51,52,53,225,49,29,27,6,25,5,17,16,54, 6 | 55,56,229,0,226,0,57,58,59,60,61,62,63,64,65,66,67,72,71,0,0,0,0,0,0,0,0,0, 7 | 0,0,0,0,0,0,0,68,69,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 8 | 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 9 | 0,0,228,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,70,230,0,0,0,0,0, 10 | 0,0,0,0,0,0,0,0,0,74,82,75,0,80,0,79,0,77,81,78,73,76,0,0,0,0,0,0,0,227,231, 11 | 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 12 | }; 13 | unsigned keycode_windows_to_hid(unsigned scancode) { 14 | if (scancode >= 256) 15 | return 0; 16 | return KEYCODE_WINDOWS_TO_HID[scancode]; 17 | } 18 | -------------------------------------------------------------------------------- /deps/mbedtls/library/common.h: -------------------------------------------------------------------------------- 1 | /** 2 | * \file common.h 3 | * 4 | * \brief Utility macros for internal use in the library 5 | */ 6 | /* 7 | * Copyright The Mbed TLS Contributors 8 | * SPDX-License-Identifier: Apache-2.0 9 | * 10 | * Licensed under the Apache License, Version 2.0 (the "License"); you may 11 | * not use this file except in compliance with the License. 12 | * You may obtain a copy of the License at 13 | * 14 | * http://www.apache.org/licenses/LICENSE-2.0 15 | * 16 | * Unless required by applicable law or agreed to in writing, software 17 | * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT 18 | * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 19 | * See the License for the specific language governing permissions and 20 | * limitations under the License. 21 | */ 22 | 23 | #ifndef MBEDTLS_LIBRARY_COMMON_H 24 | #define MBEDTLS_LIBRARY_COMMON_H 25 | 26 | #if defined(MBEDTLS_CONFIG_FILE) 27 | #include MBEDTLS_CONFIG_FILE 28 | #else 29 | #include "mbedtls/config.h" 30 | #endif 31 | 32 | /** Helper to define a function as static except when building invasive tests. 33 | * 34 | * If a function is only used inside its own source file and should be 35 | * declared `static` to allow the compiler to optimize for code size, 36 | * but that function has unit tests, define it with 37 | * ``` 38 | * MBEDTLS_STATIC_TESTABLE int mbedtls_foo(...) { ... } 39 | * ``` 40 | * and declare it in a header in the `library/` directory with 41 | * ``` 42 | * #if defined(MBEDTLS_TEST_HOOKS) 43 | * int mbedtls_foo(...); 44 | * #endif 45 | * ``` 46 | */ 47 | #if defined(MBEDTLS_TEST_HOOKS) 48 | #define MBEDTLS_STATIC_TESTABLE 49 | #else 50 | #define MBEDTLS_STATIC_TESTABLE static 51 | #endif 52 | 53 | #endif /* MBEDTLS_LIBRARY_COMMON_H */ 54 | -------------------------------------------------------------------------------- /deps/mbedtls/library/psa_crypto_service_integration.h: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright The Mbed TLS Contributors 3 | * SPDX-License-Identifier: Apache-2.0 4 | * 5 | * Licensed under the Apache License, Version 2.0 (the "License"); you may 6 | * not use this file except in compliance with the License. 7 | * You may obtain a copy of the License at 8 | * 9 | * http://www.apache.org/licenses/LICENSE-2.0 10 | * 11 | * Unless required by applicable law or agreed to in writing, software 12 | * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT 13 | * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 14 | * See the License for the specific language governing permissions and 15 | * limitations under the License. 16 | */ 17 | 18 | #ifndef PSA_CRYPTO_SERVICE_INTEGRATION_H 19 | #define PSA_CRYPTO_SERVICE_INTEGRATION_H 20 | 21 | /* 22 | * When MBEDTLS_PSA_CRYPTO_SPM is defined, the code is being built for SPM 23 | * (Secure Partition Manager) integration which separates the code into two 24 | * parts: NSPE (Non-Secure Processing Environment) and SPE (Secure Processing 25 | * Environment). When building for the SPE, an additional header file should be 26 | * included. 27 | */ 28 | #if defined(MBEDTLS_PSA_CRYPTO_SPM) 29 | /* 30 | * PSA_CRYPTO_SECURE means that the file which included this file is being 31 | * compiled for SPE. The files crypto_structs.h and crypto_types.h have 32 | * different implementations for NSPE and SPE and are compiled according to this 33 | * flag. 34 | */ 35 | #define PSA_CRYPTO_SECURE 1 36 | #include "crypto_spe.h" 37 | #endif // MBEDTLS_PSA_CRYPTO_SPM 38 | 39 | #endif // PSA_CRYPTO_SERVICE_INTEGRATION_H 40 | -------------------------------------------------------------------------------- /deps/mbedtls/library/version.c: -------------------------------------------------------------------------------- 1 | /* 2 | * Version information 3 | * 4 | * Copyright The Mbed TLS Contributors 5 | * SPDX-License-Identifier: Apache-2.0 6 | * 7 | * Licensed under the Apache License, Version 2.0 (the "License"); you may 8 | * not use this file except in compliance with the License. 9 | * You may obtain a copy of the License at 10 | * 11 | * http://www.apache.org/licenses/LICENSE-2.0 12 | * 13 | * Unless required by applicable law or agreed to in writing, software 14 | * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT 15 | * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 16 | * See the License for the specific language governing permissions and 17 | * limitations under the License. 18 | */ 19 | 20 | #include "common.h" 21 | 22 | #if defined(MBEDTLS_VERSION_C) 23 | 24 | #include "mbedtls/version.h" 25 | #include 26 | 27 | unsigned int mbedtls_version_get_number( void ) 28 | { 29 | return( MBEDTLS_VERSION_NUMBER ); 30 | } 31 | 32 | void mbedtls_version_get_string( char *string ) 33 | { 34 | memcpy( string, MBEDTLS_VERSION_STRING, 35 | sizeof( MBEDTLS_VERSION_STRING ) ); 36 | } 37 | 38 | void mbedtls_version_get_string_full( char *string ) 39 | { 40 | memcpy( string, MBEDTLS_VERSION_STRING_FULL, 41 | sizeof( MBEDTLS_VERSION_STRING_FULL ) ); 42 | } 43 | 44 | #endif /* MBEDTLS_VERSION_C */ 45 | -------------------------------------------------------------------------------- /deps/mbedtls/net.h: -------------------------------------------------------------------------------- 1 | /** 2 | * \file net.h 3 | * 4 | * \brief Deprecated header file that includes net_sockets.h 5 | * 6 | * \deprecated Superseded by mbedtls/net_sockets.h 7 | */ 8 | /* 9 | * Copyright The Mbed TLS Contributors 10 | * SPDX-License-Identifier: Apache-2.0 11 | * 12 | * Licensed under the Apache License, Version 2.0 (the "License"); you may 13 | * not use this file except in compliance with the License. 14 | * You may obtain a copy of the License at 15 | * 16 | * http://www.apache.org/licenses/LICENSE-2.0 17 | * 18 | * Unless required by applicable law or agreed to in writing, software 19 | * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT 20 | * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 21 | * See the License for the specific language governing permissions and 22 | * limitations under the License. 23 | */ 24 | #if !defined(MBEDTLS_CONFIG_FILE) 25 | #include "mbedtls/config.h" 26 | #else 27 | #include MBEDTLS_CONFIG_FILE 28 | #endif 29 | 30 | #if !defined(MBEDTLS_DEPRECATED_REMOVED) 31 | #include "mbedtls/net_sockets.h" 32 | #if defined(MBEDTLS_DEPRECATED_WARNING) 33 | #warning "Deprecated header file: Superseded by mbedtls/net_sockets.h" 34 | #endif /* MBEDTLS_DEPRECATED_WARNING */ 35 | #endif /* !MBEDTLS_DEPRECATED_REMOVED */ 36 | -------------------------------------------------------------------------------- /doc/freetype/LICENSE.TXT: -------------------------------------------------------------------------------- 1 | 2 | The FreeType 2 font engine is copyrighted work and cannot be used 3 | legally without a software license. In order to make this project 4 | usable to a vast majority of developers, we distribute it under two 5 | mutually exclusive open-source licenses. 6 | 7 | This means that *you* must choose *one* of the two licenses described 8 | below, then obey all its terms and conditions when using FreeType 2 in 9 | any of your projects or products. 10 | 11 | - The FreeType License, found in the file `FTL.TXT', which is similar 12 | to the original BSD license *with* an advertising clause that forces 13 | you to explicitly cite the FreeType project in your product's 14 | documentation. All details are in the license file. This license 15 | is suited to products which don't use the GNU General Public 16 | License. 17 | 18 | Note that this license is compatible to the GNU General Public 19 | License version 3, but not version 2. 20 | 21 | - The GNU General Public License version 2, found in `GPLv2.TXT' (any 22 | later version can be used also), for programs which already use the 23 | GPL. Note that the FTL is incompatible with GPLv2 due to its 24 | advertisement clause. 25 | 26 | The contributed BDF and PCF drivers come with a license similar to that 27 | of the X Window System. It is compatible to the above two licenses (see 28 | file src/bdf/README and src/pcf/README). The same holds for the files 29 | `fthash.c' and `fthash.h'; their code was part of the BDF driver in 30 | earlier FreeType versions. 31 | 32 | The gzip module uses the zlib license (see src/gzip/zlib.h) which too is 33 | compatible to the above two licenses. 34 | 35 | The MD5 checksum support (only used for debugging in development builds) 36 | is in the public domain. 37 | 38 | 39 | --- end of LICENSE.TXT --- 40 | -------------------------------------------------------------------------------- /doc/imgui/LICENSE.txt: -------------------------------------------------------------------------------- 1 | The MIT License (MIT) 2 | 3 | Copyright (c) 2014-2020 Omar Cornut 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy 6 | of this software and associated documentation files (the "Software"), to deal 7 | in the Software without restriction, including without limitation the rights 8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | copies of the Software, and to permit persons to whom the Software is 10 | furnished to do so, subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in all 13 | copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 21 | SOFTWARE. 22 | -------------------------------------------------------------------------------- /doc/json.h/LICENSE: -------------------------------------------------------------------------------- 1 | This is free and unencumbered software released into the public domain. 2 | 3 | Anyone is free to copy, modify, publish, use, compile, sell, or 4 | distribute this software, either in source code form or as a compiled 5 | binary, for any purpose, commercial or non-commercial, and by any 6 | means. 7 | 8 | In jurisdictions that recognize copyright laws, the author or authors 9 | of this software dedicate any and all copyright interest in the 10 | software to the public domain. We make this dedication for the benefit 11 | of the public at large and to the detriment of our heirs and 12 | successors. We intend this dedication to be an overt act of 13 | relinquishment in perpetuity of all present and future rights to this 14 | software under copyright law. 15 | 16 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, 17 | EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF 18 | MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. 19 | IN NO EVENT SHALL THE AUTHORS BE LIABLE FOR ANY CLAIM, DAMAGES OR 20 | OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, 21 | ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR 22 | OTHER DEALINGS IN THE SOFTWARE. 23 | 24 | For more information, please refer to 25 | -------------------------------------------------------------------------------- /doc/keycode/LICENSE.txt: -------------------------------------------------------------------------------- 1 | Copyright 2011-2019 Dietrich Epp 2 | 3 | Permission is hereby granted, free of charge, to any person obtaining a copy of 4 | this software and associated documentation files (the "Software"), to deal in 5 | the Software without restriction, including without limitation the rights to 6 | use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of 7 | the Software, and to permit persons to whom the Software is furnished to do so, 8 | subject to the following conditions: 9 | 10 | The above copyright notice and this permission notice shall be included in all 11 | copies or substantial portions of the Software. 12 | 13 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 14 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS 15 | FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR 16 | COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER 17 | IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN 18 | CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. 19 | -------------------------------------------------------------------------------- /doc/ltalloc/LICENSE: -------------------------------------------------------------------------------- 1 | Copyright (c) 2013, Alexander Tretyak 2 | Copyright (c) 2015, r-lyeh 3 | All rights reserved. 4 | Redistribution and use in source and binary forms, with or without 5 | modification, are permitted provided that the following conditions 6 | are met: 7 | * Redistributions of source code must retain the above copyright 8 | notice, this list of conditions and the following disclaimer. 9 | * Redistributions in binary form must reproduce the above 10 | copyright notice, this list of conditions and the following disclaimer 11 | in the documentation and/or other materials provided with the 12 | distribution. 13 | * Neither the name of the author nor the names of its 14 | contributors may be used to endorse or promote products derived 15 | from this software without specific prior written permission. 16 | THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS 17 | "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT 18 | LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR 19 | A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT 20 | HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, 21 | SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT 22 | LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, 23 | DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY 24 | THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT 25 | (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE 26 | OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -------------------------------------------------------------------------------- /doc/lz4/LICENSE: -------------------------------------------------------------------------------- 1 | This repository uses 2 different licenses : 2 | - all files in the `lib` directory use a BSD 2-Clause license 3 | - all other files use a GPLv2 license, unless explicitly stated otherwise 4 | 5 | Relevant license is reminded at the top of each source file, 6 | and with presence of COPYING or LICENSE file in associated directories. 7 | 8 | This model is selected to emphasize that 9 | files in the `lib` directory are designed to be included into 3rd party applications, 10 | while all other files, in `programs`, `tests` or `examples`, 11 | receive more limited attention and support for such scenario. 12 | -------------------------------------------------------------------------------- /doc/lz4/lz4.c.txt: -------------------------------------------------------------------------------- 1 | /* 2 | LZ4 - Fast LZ compression algorithm 3 | Copyright (C) 2011-present, Yann Collet. 4 | 5 | BSD 2-Clause License (http://www.opensource.org/licenses/bsd-license.php) 6 | 7 | Redistribution and use in source and binary forms, with or without 8 | modification, are permitted provided that the following conditions are 9 | met: 10 | 11 | * Redistributions of source code must retain the above copyright 12 | notice, this list of conditions and the following disclaimer. 13 | * Redistributions in binary form must reproduce the above 14 | copyright notice, this list of conditions and the following disclaimer 15 | in the documentation and/or other materials provided with the 16 | distribution. 17 | 18 | THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS 19 | "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT 20 | LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR 21 | A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT 22 | OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, 23 | SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT 24 | LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, 25 | DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY 26 | THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT 27 | (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE 28 | OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 29 | 30 | You can contact the author at : 31 | - LZ4 homepage : http://www.lz4.org 32 | - LZ4 source repository : https://github.com/lz4/lz4 33 | */ 34 | -------------------------------------------------------------------------------- /doc/yxml/COPYING.txt: -------------------------------------------------------------------------------- 1 | Copyright (c) 2013-2014 Yoran Heling 2 | 3 | Permission is hereby granted, free of charge, to any person obtaining 4 | a copy of this software and associated documentation files (the 5 | "Software"), to deal in the Software without restriction, including 6 | without limitation the rights to use, copy, modify, merge, publish, 7 | distribute, sublicense, and/or sell copies of the Software, and to 8 | permit persons to whom the Software is furnished to do so, subject to 9 | the following conditions: 10 | 11 | The above copyright notice and this permission notice shall be included 12 | in all copies or substantial portions of the Software. 13 | 14 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, 15 | EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF 16 | MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. 17 | IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY 18 | CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, 19 | TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE 20 | SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. 21 | -------------------------------------------------------------------------------- /resources/FontAwesome4/font.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/amspath/slidescape/6fc06f9bebd0f6a58079a73e83199aa75a6a3443/resources/FontAwesome4/font.ttf -------------------------------------------------------------------------------- /resources/icon/icon.icns: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/amspath/slidescape/6fc06f9bebd0f6a58079a73e83199aa75a6a3443/resources/icon/icon.icns -------------------------------------------------------------------------------- /resources/icon/icon.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/amspath/slidescape/6fc06f9bebd0f6a58079a73e83199aa75a6a3443/resources/icon/icon.ico -------------------------------------------------------------------------------- /resources/icon/icon1024.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/amspath/slidescape/6fc06f9bebd0f6a58079a73e83199aa75a6a3443/resources/icon/icon1024.png -------------------------------------------------------------------------------- /resources/icon/icon128.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/amspath/slidescape/6fc06f9bebd0f6a58079a73e83199aa75a6a3443/resources/icon/icon128.png -------------------------------------------------------------------------------- /resources/icon/icon16.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/amspath/slidescape/6fc06f9bebd0f6a58079a73e83199aa75a6a3443/resources/icon/icon16.png -------------------------------------------------------------------------------- /resources/icon/icon24.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/amspath/slidescape/6fc06f9bebd0f6a58079a73e83199aa75a6a3443/resources/icon/icon24.png -------------------------------------------------------------------------------- /resources/icon/icon256.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/amspath/slidescape/6fc06f9bebd0f6a58079a73e83199aa75a6a3443/resources/icon/icon256.png -------------------------------------------------------------------------------- /resources/icon/icon32.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/amspath/slidescape/6fc06f9bebd0f6a58079a73e83199aa75a6a3443/resources/icon/icon32.png -------------------------------------------------------------------------------- /resources/icon/icon512.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/amspath/slidescape/6fc06f9bebd0f6a58079a73e83199aa75a6a3443/resources/icon/icon512.png -------------------------------------------------------------------------------- /resources/icon/icon64.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/amspath/slidescape/6fc06f9bebd0f6a58079a73e83199aa75a6a3443/resources/icon/icon64.png -------------------------------------------------------------------------------- /resources/install_desktop_file.sh.in: -------------------------------------------------------------------------------- 1 | #!/usr/bin/bash 2 | 3 | SCRIPT_DIR=$(dirname "${BASH_SOURCE[0]}") 4 | 5 | if test -f "$SCRIPT_DIR/slidescape.desktop"; then 6 | 7 | if test -f "$SCRIPT_DIR/slidescape"; then 8 | xdg-desktop-menu install --novendor "$SCRIPT_DIR/slidescape.desktop" 9 | xdg-icon-resource install --context apps --size 16 --novendor "$SCRIPT_DIR/resources/icon/icon16.png" slidescape 10 | xdg-icon-resource install --context apps --size 32 --novendor "$SCRIPT_DIR/resources/icon/icon32.png" slidescape 11 | xdg-icon-resource install --context apps --size 64 --novendor "$SCRIPT_DIR/resources/icon/icon64.png" slidescape 12 | xdg-icon-resource install --context apps --size 128 --novendor "$SCRIPT_DIR/resources/icon/icon128.png" slidescape 13 | else 14 | echo "Compiled executable 'slidescape' is missing - nothing to install." 15 | fi 16 | else 17 | echo "slidescape.desktop is not configured/missing - nothing to install." 18 | fi 19 | -------------------------------------------------------------------------------- /resources/slidescape.desktop.in: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env xdg-open 2 | 3 | [Desktop Entry] 4 | Type=Application 5 | Name=Slidescape 6 | Icon=${CMAKE_RUNTIME_OUTPUT_DIRECTORY}/resources/icon/icon.svg 7 | Exec="${CMAKE_RUNTIME_OUTPUT_DIRECTORY}/slidescape" %f 8 | Comment=Whole-slide image viewer 9 | Categories=Graphics; 10 | MimeType=image/tiff;image/isyntax 11 | -------------------------------------------------------------------------------- /resources/slidescape.exe.manifest: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | UTF-8 8 | 9 | 10 | 11 | 12 | 20 | 21 | 22 | 23 | -------------------------------------------------------------------------------- /resources/uninstall_desktop_file.sh.in: -------------------------------------------------------------------------------- 1 | #!/usr/bin/bash 2 | 3 | SCRIPT_DIR=$(dirname "${BASH_SOURCE[0]}") 4 | 5 | if test -f "$SCRIPT_DIR/slidescape.desktop"; then 6 | 7 | xdg-desktop-menu uninstall "$SCRIPT_DIR/slidescape.desktop" 8 | xdg-icon-resource uninstall --context apps --size 16 slidescape 9 | xdg-icon-resource uninstall --context apps --size 32 slidescape 10 | xdg-icon-resource uninstall --context apps --size 64 slidescape 11 | xdg-icon-resource uninstall --context apps --size 128 slidescape 12 | else 13 | echo "slidescape.desktop is not configured/missing - nothing to uninstall." 14 | fi 15 | -------------------------------------------------------------------------------- /shaders/basic.frag: -------------------------------------------------------------------------------- 1 | #version 330 core 2 | 3 | in VS_OUT { 4 | vec2 tex_coord; 5 | } fs_in; 6 | 7 | uniform vec3 bg_color; 8 | uniform sampler2D the_texture; 9 | uniform float black_level; 10 | uniform float white_level; 11 | uniform vec3 transparent_color; 12 | uniform float transparent_tolerance; 13 | uniform bool use_transparent_filter; 14 | uniform bool draw_outlines; 15 | 16 | out vec4 fragColor; 17 | 18 | void main() { 19 | vec4 the_texture_rgba = texture(the_texture, fs_in.tex_coord); 20 | 21 | float opacity = the_texture_rgba.a; 22 | vec3 color = the_texture_rgba.rgb; 23 | 24 | if (use_transparent_filter) { 25 | vec3 difference = transparent_color - color; 26 | float diff_sq = dot(difference, difference); 27 | if (diff_sq < transparent_tolerance) { 28 | float t = diff_sq / transparent_tolerance; 29 | t = max(0, t * 1.2f - 0.2f); 30 | opacity = t; 31 | } 32 | } 33 | color = (color - black_level) * (1.0f / (white_level - black_level)); 34 | 35 | if (draw_outlines && (fs_in.tex_coord.x < 0.01f || fs_in.tex_coord.x > 0.99f || fs_in.tex_coord.y < 0.01f || fs_in.tex_coord.y > 0.99f)) { 36 | fragColor = vec4(1, 0, 0, 1); 37 | } else { 38 | fragColor = vec4(opacity * color + (1.0f-opacity) * bg_color, opacity); 39 | } 40 | 41 | } 42 | -------------------------------------------------------------------------------- /shaders/basic.vert: -------------------------------------------------------------------------------- 1 | #version 330 core 2 | 3 | layout (location = 0) in vec3 pos; 4 | layout (location = 1) in vec2 tex_coord; 5 | 6 | out VS_OUT { 7 | vec2 tex_coord; 8 | } vs_out; 9 | 10 | uniform mat4 model_matrix; 11 | uniform mat4 projection_view_matrix; 12 | 13 | void main() { 14 | gl_Position = projection_view_matrix * model_matrix * vec4(pos.xyz, 1.0f); 15 | vs_out.tex_coord = tex_coord; 16 | } 17 | -------------------------------------------------------------------------------- /shaders/finalblit.frag: -------------------------------------------------------------------------------- 1 | #version 330 core 2 | 3 | in VS_OUT { 4 | vec2 tex_coord; 5 | } fs_in; 6 | 7 | uniform sampler2D texture0; 8 | uniform sampler2D texture1; 9 | uniform float t; 10 | 11 | out vec4 fragColor; 12 | 13 | void main() { 14 | vec4 p0 = texture(texture0, fs_in.tex_coord); 15 | vec4 p1 = texture(texture1, fs_in.tex_coord); 16 | float alpha = p0.a * p1.a; 17 | float t_final = t * p1.a; 18 | fragColor = vec4((1.0f-t_final) * p0.rgb + t_final * p1.rgb, alpha); 19 | } 20 | -------------------------------------------------------------------------------- /shaders/finalblit.vert: -------------------------------------------------------------------------------- 1 | #version 330 core 2 | 3 | layout (location = 0) in vec2 pos; 4 | layout (location = 1) in vec2 tex_coord; 5 | 6 | out VS_OUT { 7 | vec2 tex_coord; 8 | } vs_out; 9 | 10 | void main() { 11 | gl_Position = vec4(pos.xy, 0.0f, 1.0f); 12 | vs_out.tex_coord = tex_coord; 13 | } 14 | -------------------------------------------------------------------------------- /src/config.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | 3 | #ifndef NDEBUG 4 | #define DO_DEBUG 1 5 | #else 6 | #define DO_DEBUG 0 7 | #endif 8 | 9 | #if !IS_SERVER 10 | #define USE_CONSOLE_GUI 1 11 | #endif 12 | 13 | #define PANIC_DONT_INLINE 1 14 | 15 | #define NO_TIMER_INITIALIZED_RUNTIME_CHECK 16 | 17 | #ifdef _WIN32 18 | #define USE_LTALLOC_INSTEAD_OF_MALLOC 19 | #endif 20 | 21 | #define USE_OPENGL_DEBUG_CONTEXT DO_DEBUG 22 | 23 | #define USE_MULTIPLE_OPENGL_CONTEXTS 0 24 | #define PREFER_DEDICATED_GRAPHICS 0 25 | 26 | #define REMOTE_CLIENT_VERBOSE 0 27 | 28 | #define LIBISYNTAX_NO_STB_SPRINTF_IMPLEMENTATION 29 | #define LIBISYNTAX_NO_STB_IMAGE_IMPLEMENTATION 30 | #define LIBISYNTAX_NO_THREAD_POOL_IMPLEMENTATION 31 | 32 | #define APP_TITLE "Slidescape" 33 | #define APP_VERSION "0.48" 34 | 35 | -------------------------------------------------------------------------------- /src/core/image_registration.h: -------------------------------------------------------------------------------- 1 | /* 2 | Slidescape, a whole-slide image viewer for digital pathology. 3 | Copyright (C) 2019-2023 Pieter Valkema 4 | 5 | This program is free software: you can redistribute it and/or modify 6 | it under the terms of the GNU General Public License as published by 7 | the Free Software Foundation, either version 3 of the License, or 8 | (at your option) any later version. 9 | 10 | This program is distributed in the hope that it will be useful, 11 | but WITHOUT ANY WARRANTY; without even the implied warranty of 12 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 13 | GNU General Public License for more details. 14 | 15 | You should have received a copy of the GNU General Public License 16 | along with this program. If not, see . 17 | */ 18 | 19 | #pragma once 20 | 21 | #include "common.h" 22 | #include "phasecorrelate.h" 23 | 24 | #ifdef __cplusplus 25 | extern "C" { 26 | #endif 27 | 28 | typedef enum image_register_preprocess_method_enum { 29 | REGISTER_PREPROCESS_UNDEFINED = 0, 30 | REGISTER_PREPROCESS_NONE = 1, 31 | REGISTER_PREPROCESS_ISOLATE_HEMATOXYLIN = 2, 32 | } image_register_preprocess_method_enum; 33 | 34 | typedef struct image_transform_t { 35 | bool is_valid; 36 | v2f translate; 37 | float response; 38 | } image_transform_t; 39 | 40 | image_transform_t do_image_registration(image_t* image1, image_t* image2, i32 levels_from_top); 41 | image_transform_t do_local_image_registration(image_t* image1, image_t* image2, v2f center_point, i32 level, i32 patch_width, image_register_preprocess_method_enum preprocess_method); 42 | 43 | #ifdef __cplusplus 44 | } 45 | #endif 46 | -------------------------------------------------------------------------------- /src/core/image_resize.h: -------------------------------------------------------------------------------- 1 | /* 2 | Slidescape, a whole-slide image viewer for digital pathology. 3 | Copyright (C) 2019-2025 Pieter Valkema 4 | 5 | This program is free software: you can redistribute it and/or modify 6 | it under the terms of the GNU General Public License as published by 7 | the Free Software Foundation, either version 3 of the License, or 8 | (at your option) any later version. 9 | 10 | This program is distributed in the hope that it will be useful, 11 | but WITHOUT ANY WARRANTY; without even the implied warranty of 12 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 13 | GNU General Public License for more details. 14 | 15 | You should have received a copy of the GNU General Public License 16 | along with this program. If not, see . 17 | */ 18 | 19 | #pragma once 20 | 21 | #include "common.h" 22 | 23 | #ifdef __cplusplus 24 | extern "C" { 25 | #endif 26 | 27 | 28 | typedef struct image_buffer_t { 29 | u8* pixels; 30 | i32 channels; 31 | i32 width; 32 | i32 height; 33 | i32 stride_in_pixels; 34 | i32 stride_in_bytes; 35 | pixel_format_enum pixel_format; 36 | bool is_valid; 37 | } image_buffer_t; 38 | 39 | typedef struct filter_t { 40 | float (*filter)(float); 41 | float support; 42 | } filter_t; 43 | 44 | image_buffer_t create_bgra_image_buffer(i32 width, i32 height); 45 | image_buffer_t create_bgra_image_buffer_using_arena(arena_t* arena, i32 width, i32 height); 46 | void destroy_image_buffer(image_buffer_t* image_buffer); 47 | bool image_resample_lanczos3(image_buffer_t* in, image_buffer_t* out, rect2f box); 48 | bool image_shrink_2x2(image_buffer_t* in, image_buffer_t* out, rect2i box); 49 | 50 | void debug_test_resample(); 51 | void debug_test_shrink2x2(); 52 | 53 | #ifdef __cplusplus 54 | } 55 | #endif 56 | -------------------------------------------------------------------------------- /src/core/viewer_options.cpp: -------------------------------------------------------------------------------- 1 | /* 2 | Slidescape, a whole-slide image viewer for digital pathology. 3 | Copyright (C) 2019-2023 Pieter Valkema 4 | 5 | This program is free software: you can redistribute it and/or modify 6 | it under the terms of the GNU General Public License as published by 7 | the Free Software Foundation, either version 3 of the License, or 8 | (at your option) any later version. 9 | 10 | This program is distributed in the hope that it will be useful, 11 | but WITHOUT ANY WARRANTY; without even the implied warranty of 12 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 13 | GNU General Public License for more details. 14 | 15 | You should have received a copy of the GNU General Public License 16 | along with this program. If not, see . 17 | */ 18 | 19 | static char options_ini_filename[512]; 20 | 21 | void viewer_init_options(app_state_t* app_state) { 22 | if (global_settings_dir) { 23 | snprintf(options_ini_filename, sizeof(options_ini_filename), "%s" PATH_SEP "%s", global_settings_dir, "slidescape.ini"); 24 | } else { 25 | strncpy(options_ini_filename, "slidescape.ini", sizeof(options_ini_filename)); 26 | } 27 | 28 | ini_t* ini = ini_load_from_file(options_ini_filename); 29 | 30 | ini_begin_section(ini, "General"); 31 | ini_register_i32(ini, "window_width", &desired_window_width); 32 | ini_register_i32(ini, "window_height", &desired_window_height); 33 | ini_register_bool(ini, "window_start_maximized", &window_start_maximized); 34 | ini_register_bool(ini, "vsync", &is_vsync_enabled); 35 | 36 | ini_apply(ini); 37 | } 38 | 39 | -------------------------------------------------------------------------------- /src/dicom/dicom_wsi.h: -------------------------------------------------------------------------------- 1 | /* 2 | Slidescape, a whole-slide image viewer for digital pathology. 3 | Copyright (C) 2019-2023 Pieter Valkema 4 | 5 | This program is free software: you can redistribute it and/or modify 6 | it under the terms of the GNU General Public License as published by 7 | the Free Software Foundation, either version 3 of the License, or 8 | (at your option) any later version. 9 | 10 | This program is distributed in the hope that it will be useful, 11 | but WITHOUT ANY WARRANTY; without even the implied warranty of 12 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 13 | GNU General Public License for more details. 14 | 15 | You should have received a copy of the GNU General Public License 16 | along with this program. If not, see . 17 | */ 18 | 19 | #pragma once 20 | 21 | #ifdef __cplusplus 22 | extern "C" { 23 | #endif 24 | 25 | 26 | #include "common.h" 27 | #include "dicom.h" 28 | 29 | void dicom_wsi_interpret_top_level_data_element(dicom_instance_t *instance, dicom_data_element_t element); 30 | void dicom_wsi_interpret_nested_data_element(dicom_instance_t* instance, dicom_data_element_t element); 31 | u8* dicom_wsi_decode_tile_to_bgra(dicom_series_t* dicom_series, i32 scale, i32 tile_index); 32 | 33 | #ifdef __cplusplus 34 | } 35 | #endif 36 | -------------------------------------------------------------------------------- /src/isyntax/isyntax_reader.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | 3 | #include "isyntax.h" 4 | #include "libisyntax.h" 5 | #include "benaphore.h" 6 | 7 | typedef struct isyntax_tile_list_t { 8 | isyntax_tile_t* head; 9 | isyntax_tile_t* tail; 10 | int count; 11 | const char* dbg_name; 12 | } isyntax_tile_list_t; 13 | 14 | typedef struct isyntax_cache_t { 15 | isyntax_tile_list_t cache_list; 16 | benaphore_t mutex; 17 | // TODO(avirodov): int refcount; 18 | int target_cache_size; 19 | block_allocator_t* ll_coeff_block_allocator; 20 | block_allocator_t* h_coeff_block_allocator; 21 | bool is_block_allocator_owned; 22 | int allocator_block_width; 23 | int allocator_block_height; 24 | } isyntax_cache_t; 25 | 26 | // TODO(avirodov): can this ever fail? 27 | void isyntax_tile_read(isyntax_t* isyntax, isyntax_cache_t* cache, int scale, int tile_x, int tile_y, 28 | uint32_t* pixels_buffer, enum isyntax_pixel_format_t pixel_format); 29 | 30 | void tile_list_init(isyntax_tile_list_t* list, const char* dbg_name); 31 | void tile_list_remove(isyntax_tile_list_t* list, isyntax_tile_t* tile); 32 | -------------------------------------------------------------------------------- /src/platform/graphical_app.c: -------------------------------------------------------------------------------- 1 | /* 2 | Slidescape, a whole-slide image viewer for digital pathology. 3 | Copyright (C) 2019-2023 Pieter Valkema 4 | 5 | This program is free software: you can redistribute it and/or modify 6 | it under the terms of the GNU General Public License as published by 7 | the Free Software Foundation, either version 3 of the License, or 8 | (at your option) any later version. 9 | 10 | This program is distributed in the hope that it will be useful, 11 | but WITHOUT ANY WARRANTY; without even the implied warranty of 12 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 13 | GNU General Public License for more details. 14 | 15 | You should have received a copy of the GNU General Public License 16 | along with this program. If not, see . 17 | */ 18 | 19 | #include "common.h" 20 | #define GRAPHICAL_APP_IMPL 21 | #include "graphical_app.h" 22 | 23 | #if WINDOWS 24 | #include "win32_graphical_app.c" 25 | #else 26 | #include "linux_platform.c" 27 | #endif 28 | 29 | 30 | 31 | 32 | -------------------------------------------------------------------------------- /src/platform/shader.h: -------------------------------------------------------------------------------- 1 | /* 2 | Slidescape, a whole-slide image viewer for digital pathology. 3 | Copyright (C) 2019-2023 Pieter Valkema 4 | 5 | This program is free software: you can redistribute it and/or modify 6 | it under the terms of the GNU General Public License as published by 7 | the Free Software Foundation, either version 3 of the License, or 8 | (at your option) any later version. 9 | 10 | This program is distributed in the hope that it will be useful, 11 | but WITHOUT ANY WARRANTY; without even the implied warranty of 12 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 13 | GNU General Public License for more details. 14 | 15 | You should have received a copy of the GNU General Public License 16 | along with this program. If not, see . 17 | */ 18 | 19 | 20 | #pragma once 21 | 22 | #ifdef __cplusplus 23 | extern "C" { 24 | #endif 25 | 26 | 27 | #include "common.h" 28 | 29 | #if DO_DEBUG 30 | #define STRINGIFY_SHADERS 31 | #endif 32 | 33 | #if DO_DEBUG 34 | void write_stringified_shaders(); 35 | #endif 36 | 37 | void load_shader(u32 shader, const char* source_filename); 38 | u32 load_basic_shader_program(const char* vert_filename, const char* frag_filename); 39 | i32 get_attrib(u32 program, const char *name); 40 | i32 get_uniform(u32 program, const char *name); 41 | 42 | #ifdef __cplusplus 43 | }; 44 | #endif 45 | 46 | -------------------------------------------------------------------------------- /src/platform/win32_graphical_app.h: -------------------------------------------------------------------------------- 1 | /* 2 | Slidescape, a whole-slide image viewer for digital pathology. 3 | Copyright (C) 2019-2023 Pieter Valkema 4 | 5 | This program is free software: you can redistribute it and/or modify 6 | it under the terms of the GNU General Public License as published by 7 | the Free Software Foundation, either version 3 of the License, or 8 | (at your option) any later version. 9 | 10 | This program is distributed in the hope that it will be useful, 11 | but WITHOUT ANY WARRANTY; without even the implied warranty of 12 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 13 | GNU General Public License for more details. 14 | 15 | You should have received a copy of the GNU General Public License 16 | along with this program. If not, see . 17 | */ 18 | 19 | #ifndef WIN32_MAIN 20 | #define WIN32_MAIN 21 | 22 | #include 23 | #include "platform.h" 24 | #include "win32_utils.h" 25 | 26 | #ifdef __cplusplus 27 | extern "C" { 28 | #endif 29 | 30 | #define BYTES_PER_PIXEL 4 31 | 32 | typedef struct { 33 | int width; 34 | int height; 35 | } win32_window_dimension_t; 36 | 37 | LPSTR* WINAPI CommandLineToArgvA(LPSTR lpCmdline, int* numargs); 38 | 39 | // globals 40 | #if defined(WIN32_GRAPHICAL_APP_IMPL) 41 | #define INIT(...) __VA_ARGS__ 42 | #define extern 43 | #else 44 | #define INIT(...) 45 | #undef extern 46 | #endif 47 | 48 | //extern HWND global_main_window; 49 | extern HCURSOR global_cursor_arrow; 50 | extern HCURSOR global_cursor_crosshair; 51 | extern HCURSOR global_current_cursor; 52 | extern bool global_is_using_software_renderer; 53 | 54 | #undef INIT 55 | #undef extern 56 | 57 | #ifdef __cplusplus 58 | } 59 | #endif 60 | 61 | 62 | #endif 63 | -------------------------------------------------------------------------------- /src/platform/win32_gui.h: -------------------------------------------------------------------------------- 1 | /* 2 | Slidescape, a whole-slide image viewer for digital pathology. 3 | Copyright (C) 2019-2023 Pieter Valkema 4 | 5 | This program is free software: you can redistribute it and/or modify 6 | it under the terms of the GNU General Public License as published by 7 | the Free Software Foundation, either version 3 of the License, or 8 | (at your option) any later version. 9 | 10 | This program is distributed in the hope that it will be useful, 11 | but WITHOUT ANY WARRANTY; without even the implied warranty of 12 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 13 | GNU General Public License for more details. 14 | 15 | You should have received a copy of the GNU General Public License 16 | along with this program. If not, see . 17 | */ 18 | 19 | #pragma once 20 | #include "common.h" 21 | #include "viewer.h" 22 | #include "platform.h" 23 | 24 | #ifdef __cplusplus 25 | extern "C" { 26 | #endif 27 | 28 | void win32_gui_new_frame(app_state_t* app_state); 29 | 30 | void win32_init_gui(app_state_t* app_state); 31 | // from imgui_impl_win32.cpp 32 | LRESULT ImGui_ImplWin32_WndProcHandler(HWND hWnd, UINT msg, WPARAM wParam, LPARAM lParam); 33 | 34 | #ifdef __cplusplus 35 | } 36 | #endif 37 | -------------------------------------------------------------------------------- /src/third_party/ltalloc.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | 3 | #include /*a more portable std::size_t definition than stddef.h itself*/ 4 | #ifdef __cplusplus 5 | extern "C" { 6 | #endif 7 | void* ltmalloc(size_t); 8 | void ltfree(void*); 9 | void* ltrealloc(void*, size_t); 10 | void* ltcalloc(size_t, size_t); 11 | void* ltmemalign(size_t, size_t); 12 | void ltsqueeze(size_t); /*return memory to system (see README.md)*/ 13 | size_t ltmsize(void*); 14 | void ltonthreadexit(); 15 | #ifdef __cplusplus 16 | } 17 | #endif 18 | -------------------------------------------------------------------------------- /src/third_party/random.c: -------------------------------------------------------------------------------- 1 | #include "common.h" 2 | 3 | #include 4 | 5 | // *Really* minimal PCG32 code / (c) 2014 M.E. O'Neill / pcg-random.org 6 | // Licensed under Apache License 2.0 (NO WARRANTY, etc. see website) 7 | 8 | typedef struct { uint64_t state; uint64_t inc; } pcg32_random_t; 9 | pcg32_random_t global_rng; 10 | 11 | uint32_t pcg32_random_r(pcg32_random_t* rng) 12 | { 13 | uint64_t oldstate = rng->state; 14 | // Advance internal state 15 | rng->state = oldstate * 6364136223846793005ULL + (rng->inc|1); 16 | // Calculate output function (XSH RR), uses old state for max ILP 17 | uint32_t xorshifted = ((oldstate >> 18u) ^ oldstate) >> 27u; 18 | uint32_t rot = oldstate >> 59u; 19 | return (xorshifted >> rot) | (xorshifted << ((-rot) & 31)); 20 | } 21 | 22 | void random_init() { 23 | global_rng.state = (uint64_t)time(NULL) ^ (intptr_t)pcg32_random_r; 24 | pcg32_random_r(&global_rng); 25 | } 26 | 27 | u32 pcg_random() { 28 | return pcg32_random_r(&global_rng); 29 | } 30 | 31 | float randomf() { 32 | u32 random23 = pcg32_random_r(&global_rng) & ((1 << 23) - 1); 33 | float result = (float)random23 / (1 << 23); 34 | return result; 35 | } 36 | -------------------------------------------------------------------------------- /src/tiff/tif_lzw.h: -------------------------------------------------------------------------------- 1 | 2 | #pragma once 3 | 4 | #include 5 | typedef int8_t int8; 6 | typedef uint8_t uint8; 7 | typedef int16_t int16; 8 | typedef uint16_t uint16; 9 | typedef int32_t int32; 10 | typedef uint32_t uint32; 11 | typedef int64_t int64; 12 | typedef uint64_t uint64; 13 | 14 | typedef struct PseudoTIFF { 15 | uint8* tif_data; 16 | uint8* tif_rawdata; 17 | size_t tif_rawdatasize; 18 | uint8* tif_rawcp; 19 | size_t tif_rawcc; 20 | void* tif_clientdata; 21 | } PseudoTIFF; 22 | 23 | #ifdef __cplusplus 24 | extern "C" { 25 | #endif 26 | 27 | int LZWSetupDecode(PseudoTIFF* tif); 28 | int LZWPreDecode(PseudoTIFF* tif, uint16 s); 29 | int LZWDecode(PseudoTIFF* tif, uint8* op0, size_t occ0, uint16 s); 30 | int LZWDecodeCompat(PseudoTIFF* tif, uint8* op0, size_t occ0, uint16 s); 31 | 32 | #ifdef __cplusplus 33 | } 34 | #endif 35 | -------------------------------------------------------------------------------- /src/utils/benaphore.h: -------------------------------------------------------------------------------- 1 | /* 2 | Slidescape, a whole-slide image viewer for digital pathology. 3 | Copyright (C) 2019-2023 Pieter Valkema 4 | 5 | This program is free software: you can redistribute it and/or modify 6 | it under the terms of the GNU General Public License as published by 7 | the Free Software Foundation, either version 3 of the License, or 8 | (at your option) any later version. 9 | 10 | This program is distributed in the hope that it will be useful, 11 | but WITHOUT ANY WARRANTY; without even the implied warranty of 12 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 13 | GNU General Public License for more details. 14 | 15 | You should have received a copy of the GNU General Public License 16 | along with this program. If not, see . 17 | */ 18 | 19 | 20 | #pragma once 21 | 22 | #ifdef __cplusplus 23 | extern "C" { 24 | #endif 25 | 26 | #include "common.h" 27 | 28 | #ifdef _WIN32 29 | #include "windows.h" 30 | #else 31 | #include 32 | #endif 33 | 34 | 35 | typedef struct benaphore_t { 36 | #ifdef _WIN32 37 | HANDLE semaphore; 38 | #else 39 | sem_t* semaphore; 40 | #endif 41 | volatile i32 counter; 42 | } benaphore_t; 43 | 44 | benaphore_t benaphore_create(void); 45 | void benaphore_destroy(benaphore_t* benaphore); 46 | void benaphore_lock(benaphore_t* benaphore); 47 | void benaphore_unlock(benaphore_t* benaphore); 48 | 49 | #ifdef __cplusplus 50 | } 51 | #endif 52 | -------------------------------------------------------------------------------- /src/utils/crc32.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | #ifndef CRC32_H 3 | #define CRC32_H 4 | 5 | #ifdef __cplusplus 6 | extern "C" { 7 | #endif 8 | 9 | unsigned int crc32(unsigned char *buffer, int len); 10 | 11 | unsigned int crc32_skip_carriage_return(unsigned char *buffer, int len); 12 | 13 | #ifdef __cplusplus 14 | } 15 | #endif 16 | 17 | #endif //CRC32_H 18 | -------------------------------------------------------------------------------- /src/utils/jpeg_decoder.h: -------------------------------------------------------------------------------- 1 | #ifdef __cplusplus 2 | extern "C" { 3 | #endif 4 | 5 | #include "common.h" 6 | 7 | #ifdef TARGET_EMSCRIPTEN 8 | #include 9 | #else 10 | #define EMSCRIPTEN_KEEPALIVE 11 | #endif 12 | 13 | void jpeg_encode_tile(u8* pixels, i32 width, i32 height, i32 quality, u8** tables_buffer, u64* tables_size_ptr, 14 | u8** jpeg_buffer, u64* jpeg_size_ptr, bool use_rgb); 15 | void jpeg_encode_image(u8* pixels, i32 width, i32 height, i32 quality, u8** jpeg_buffer, u64* jpeg_size_ptr); 16 | u8* jpeg_decode_image(u8* input_ptr, u32 input_length, i32 *width, i32 *height, i32 *channels_in_file); 17 | u8* jpeg_decode_ndpi_image(u8* input_ptr, u32 input_length, i32 width, i32 height, i32 *channels_in_file); 18 | EMSCRIPTEN_KEEPALIVE bool jpeg_decode_tile(uint8_t *table_ptr, uint32_t table_length, uint8_t *input_ptr, uint32_t input_length, uint8_t *output_ptr, bool is_YCbCr); 19 | EMSCRIPTEN_KEEPALIVE uint8_t *create_buffer(int size); 20 | EMSCRIPTEN_KEEPALIVE void destroy_buffer(uint8_t *p); 21 | 22 | #ifdef __cplusplus 23 | }; 24 | #endif 25 | -------------------------------------------------------------------------------- /src/utils/phasecorrelate.h: -------------------------------------------------------------------------------- 1 | /* 2 | Slidescape, a whole-slide image viewer for digital pathology. 3 | Copyright (C) 2019-2023 Pieter Valkema 4 | 5 | This program is free software: you can redistribute it and/or modify 6 | it under the terms of the GNU General Public License as published by 7 | the Free Software Foundation, either version 3 of the License, or 8 | (at your option) any later version. 9 | 10 | This program is distributed in the hope that it will be useful, 11 | but WITHOUT ANY WARRANTY; without even the implied warranty of 12 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 13 | GNU General Public License for more details. 14 | 15 | You should have received a copy of the GNU General Public License 16 | along with this program. If not, see . 17 | */ 18 | 19 | #pragma once 20 | 21 | #ifdef __cplusplus 22 | extern "C" { 23 | #endif 24 | 25 | #include "common.h" 26 | #include "mathutils.h" 27 | 28 | typedef float real_t; 29 | 30 | typedef struct buffer2d_t { 31 | i32 w, h; 32 | real_t* data; 33 | } buffer2d_t; 34 | 35 | 36 | v2f phase_correlate(buffer2d_t* src1, buffer2d_t* src2, buffer2d_t* window, float background, float* response, i32 offset_limit); 37 | 38 | #ifdef __cplusplus 39 | } 40 | #endif 41 | -------------------------------------------------------------------------------- /src/utils/stringutils.h: -------------------------------------------------------------------------------- 1 | /* 2 | Slidescape, a whole-slide image viewer for digital pathology. 3 | Copyright (C) 2019-2023 Pieter Valkema 4 | 5 | This program is free software: you can redistribute it and/or modify 6 | it under the terms of the GNU General Public License as published by 7 | the Free Software Foundation, either version 3 of the License, or 8 | (at your option) any later version. 9 | 10 | This program is distributed in the hope that it will be useful, 11 | but WITHOUT ANY WARRANTY; without even the implied warranty of 12 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 13 | GNU General Public License for more details. 14 | 15 | You should have received a copy of the GNU General Public License 16 | along with this program. If not, see . 17 | */ 18 | 19 | #pragma once 20 | 21 | #ifdef __cplusplus 22 | extern "C" { 23 | #endif 24 | 25 | #include "common.h" 26 | 27 | void strip_character(char* s, char character_to_strip); 28 | char* find_next_token(const char* s, char separator); 29 | void dots_to_underscores(char* s, i32 max); 30 | const char* one_past_last_slash(const char* s, i32 max); 31 | const char* get_file_extension(const char* filename); 32 | void replace_file_extension(char* filename, i32 max_len, const char* new_ext); 33 | char** split_into_lines(char* buffer, size_t* num_lines); 34 | size_t count_lines(char* buffer); 35 | 36 | #ifdef __cplusplus 37 | }; 38 | #endif 39 | 40 | -------------------------------------------------------------------------------- /src/utils/timerutils.h: -------------------------------------------------------------------------------- 1 | /* 2 | Slidescape, a whole-slide image viewer for digital pathology. 3 | Copyright (C) 2019-2023 Pieter Valkema 4 | 5 | This program is free software: you can redistribute it and/or modify 6 | it under the terms of the GNU General Public License as published by 7 | the Free Software Foundation, either version 3 of the License, or 8 | (at your option) any later version. 9 | 10 | This program is distributed in the hope that it will be useful, 11 | but WITHOUT ANY WARRANTY; without even the implied warranty of 12 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 13 | GNU General Public License for more details. 14 | 15 | You should have received a copy of the GNU General Public License 16 | along with this program. If not, see . 17 | */ 18 | 19 | #pragma once 20 | 21 | #ifdef __cplusplus 22 | extern "C" { 23 | #endif 24 | 25 | #include "common.h" 26 | 27 | i64 get_clock(); 28 | float get_seconds_elapsed(i64 start, i64 end); 29 | void platform_sleep(u32 ms); 30 | void platform_sleep_ns(i64 ns); 31 | 32 | #if WINDOWS 33 | void win32_init_timer(); // call this once, before calling get_clock() 34 | #endif 35 | 36 | #ifdef __cplusplus 37 | }; 38 | #endif 39 | 40 | --------------------------------------------------------------------------------