# Path: PyEngine3D/Render/RenderOptions.py
# class RenderOption:
#     RENDER_LIGHT_PROBE = False
#     RENDER_ONLY_ATMOSPHERE = False
#     RENDER_FONT = True
#     RENDER_STATIC_ACTOR = True
#     RENDER_SKELETON_ACTOR = True
#     RENDER_ATMOSPHERE = True
#     RENDER_OCEAN = True
#     RENDER_EFFECT = True
#     RENDER_COLLISION = True
#     RENDER_DEBUG_LINE = True
#     RENDER_GIZMO = True
#     RENDER_OBJECT_ID = True


import numpy as np
from PyEngine3D.Utilities import *
from .RenderOptions import RenderOption
        return self._text

    @text.setter
    def text(self, text):
        self._text = text

        ratio = 1.0 / self.font_data.count_of_side
        text_count = len(text)

        if len(self.render_queue) < text_count:
            self.render_queue.resize((text_count, 4), refcheck=False)

        render_index = 0
        max_column = self.initial_column
        column = self.initial_column
        row = self.initial_row

        for c in text:
            if c == '\n':
                column = self.initial_column
                row += 1
            elif c == '\t':
                column += 1
            elif c == ' ':
                column += 1
            else:
                index = max(0, ord(c) - self.font_data.range_min)
                texcoord_x = (index % self.font_data.count_of_side) * ratio
                texcoord_y = (self.font_data.count_of_side - 1 - int(index * ratio)) * ratio
                self.render_queue[render_index][...] = [column, row, texcoord_x, texcoord_y]

# Path: PyEngine3D/Render/RenderOptions.py
# class RenderOption:
#     RENDER_LIGHT_PROBE = False
#     RENDER_ONLY_ATMOSPHERE = False
#     RENDER_FONT = True
#     RENDER_STATIC_ACTOR = True
#     RENDER_SKELETON_ACTOR = True
#     RENDER_ATMOSPHERE = True
#     RENDER_OCEAN = True
#     RENDER_EFFECT = True
#     RENDER_COLLISION = True
#     RENDER_DEBUG_LINE = True
#     RENDER_GIZMO = True
#     RENDER_OBJECT_ID = True


# Path: PyEngine3D/Render/Font.py
import numpy as np
from PyEngine3D.Utilities import *
from .RenderOptions import RenderOption

        return self._text

    @text.setter
    def text(self, text):
        self._text = text

        ratio = 1.0 / self.font_data.count_of_side
        text_count = len(text)

        if len(self.render_queue) < text_count:
            self.render_queue.resize((text_count, 4), refcheck=False)

        render_index = 0
        max_column = self.initial_column
        column = self.initial_column
        row = self.initial_row

        for c in text:
            if c == '\n':
                column = self.initial_column
                row += 1
            elif c == '\t':
                column += 1
            elif c == ' ':
                column += 1
            else:
                index = max(0, ord(c) - self.font_data.range_min)
                texcoord_x = (index % self.font_data.count_of_side) * ratio
                texcoord_y = (self.font_data.count_of_side - 1 - int(index * ratio)) * ratio
                self.render_queue[render_index][...] = [column, row, texcoord_x, texcoord_y]

                render_index += 1