Enable text shadows also activates shadows to navigator

this code is correct?

import blf
import bpy

font_info = {
    "font_id": 0,
    "handler": None,
}


def init():
    """init function - runs once"""
    import os
    # Create a new font object, use external ttf file.
    font_path = bpy.path.abspath('//Zeyada.ttf')
    # Store the font indice - to use later.
    if os.path.exists(font_path):
        font_info["font_id"] = blf.load(font_path)
    else:
        # Default font.
        font_info["font_id"] = 0

    # set the font drawing routine to run every frame
    font_info["handler"] = bpy.types.SpaceView3D.draw_handler_add(
        draw_callback_px, (None, None), 'WINDOW', 'POST_PIXEL')


def draw_callback_px(self, context):
    """Draw on the viewports"""
    # BLF drawing routine
    font_id = font_info["font_id"]
    blf.position(font_id, 2, 80, 0)
    blf.size(font_id, 50, 72)
    
    blf.color(font_id, 1.0, 1.0, 1.0, 1.0)
    blf.enable(font_id , blf.SHADOW )
    blf.shadow(font_id, 5, 0.0, 0.0, 0.0, 1.0)
    blf.shadow_offset(font_id, 1, -1)
    blf.draw(font_id, "Hello World")


if __name__ == '__main__':
    init()

35
I get shadow on the simple navigator too.
Is this normal?

It’s normal.

So be sure to call blf.disable at the end when you’re done using the constants :stuck_out_tongue:

1 Like