diff --git a/direct/src/showbase/Loader.py b/direct/src/showbase/Loader.py index 07da9f499b..854323dc3d 100644 --- a/direct/src/showbase/Loader.py +++ b/direct/src/showbase/Loader.py @@ -295,7 +295,9 @@ class Loader(DirectObject): textureMargin = None, polyMargin = None, minFilter = None, magFilter = None, anisotropicDegree = None, - outline = None, + outlineWidth = None, + outlineFeather = 0.1, + outlineColor = VBase4(0, 0, 0, 1), lineHeight = None, okMissing = False): """ modelPath is a string. @@ -310,12 +312,10 @@ class Loader(DirectObject): (except lineHeight and spaceAdvance) may only be specified for font files like TTF files, not for static egg files. - If outline is not None, it may be either a single number, - representing the desired outline width (in font pixels), or it - may be a 2-tuple of (width, feather), where feather is a - number in the range 0.0 to 1.0 and indicates the softness of - the outline. - + If outlineWidth is nonzero, an outline will be created at + runtime for the letters, and outlineWidth will be the desired + width of the outline, in points (most fonts are 10 points + high). """ assert Loader.notify.debug("Loading font: %s" % (modelPath)) if phaseChecker: @@ -348,18 +348,12 @@ class Loader(DirectObject): font.setMagfilter(magFilter) if anisotropicDegree != None: font.setAnisotropicDegree(anisotropicDegree) - if outline != None: - # Outline should be a float: width - # or a 2-tuple: (width, feather) - try: - outline = tuple(outline) - except TypeError: - outline = (outline,) - if len(outline) < 2: - outline = (outline[0], 0.1) - font.setOutline(VBase4(0, 0, 0, 1), *outline) - # This means we also want the bg to be black. - font.setBg(VBase4(0, 0, 0, 0)) + if outlineWidth: + font.setOutline(outlineColor, outlineWidth, outlineFeather) + + # This means we also want the background to match the + # outline color, but transparent. + font.setBg(VBase4(outlineColor[0], outlineColor[1], outlineColor[2], 0.0)) if lineHeight is not None: # If the line height is specified, it overrides whatever