Remove code to support Blender 2.79 and older
This commit is contained in:
@@ -26,16 +26,11 @@ import bpy
|
||||
import bgl
|
||||
|
||||
import pillarsdk
|
||||
from .. import async_loop, compatibility, pillar, cache, blender, utils
|
||||
from .. import async_loop, pillar, cache, blender, utils
|
||||
from . import (
|
||||
menu_item as menu_item_mod,
|
||||
) # so that we can have menu items called 'menu_item'
|
||||
from . import nodes
|
||||
|
||||
if bpy.app.version < (2, 80):
|
||||
from . import draw_27 as draw
|
||||
else:
|
||||
from . import draw
|
||||
from . import draw, nodes
|
||||
|
||||
REQUIRED_ROLES_FOR_TEXTURE_BROWSER = {"subscriber", "demo"}
|
||||
MOUSE_SCROLL_PIXELS_PER_TICK = 50
|
||||
@@ -686,7 +681,6 @@ class BlenderCloudBrowser(
|
||||
self.scroll_offset_target = self.scroll_offset = 0
|
||||
|
||||
|
||||
@compatibility.convert_properties
|
||||
class PILLAR_OT_switch_hdri(
|
||||
pillar.PillarOperatorMixin, async_loop.AsyncModalOperatorMixin, bpy.types.Operator
|
||||
):
|
||||
@@ -698,11 +692,11 @@ class PILLAR_OT_switch_hdri(
|
||||
|
||||
log = logging.getLogger("bpy.ops.%s" % bl_idname)
|
||||
|
||||
image_name = bpy.props.StringProperty(
|
||||
image_name: bpy.props.StringProperty(
|
||||
name="image_name", description="Name of the image block to replace"
|
||||
)
|
||||
|
||||
file_uuid = bpy.props.StringProperty(
|
||||
file_uuid: bpy.props.StringProperty(
|
||||
name="file_uuid", description="File ID to download"
|
||||
)
|
||||
|
||||
@@ -834,7 +828,7 @@ def _hdri_download_panel(self, current_image):
|
||||
)
|
||||
return
|
||||
|
||||
row = self.layout.row(align=True).split(**compatibility.factor(0.3))
|
||||
row = self.layout.row(align=True).split(factor=0.3)
|
||||
row.label(text="HDRi", icon_value=blender.icon("CLOUD"))
|
||||
row.prop(current_image, "hdri_variation", text="")
|
||||
|
||||
|
@@ -1,98 +0,0 @@
|
||||
"""OpenGL drawing code for the texture browser.
|
||||
|
||||
Requires Blender 2.79 or older.
|
||||
"""
|
||||
|
||||
import typing
|
||||
|
||||
import bgl
|
||||
import blf
|
||||
import bpy
|
||||
|
||||
Float2 = typing.Tuple[float, float]
|
||||
Float3 = typing.Tuple[float, float, float]
|
||||
Float4 = typing.Tuple[float, float, float, float]
|
||||
|
||||
|
||||
def text(
|
||||
pos2d: Float2,
|
||||
display_text: typing.Union[str, typing.List[str]],
|
||||
rgba: Float4 = (1.0, 1.0, 1.0, 1.0),
|
||||
fsize=12,
|
||||
align="L",
|
||||
):
|
||||
"""Draw text with the top-left corner at 'pos2d'."""
|
||||
|
||||
dpi = bpy.context.user_preferences.system.dpi
|
||||
gap = 12
|
||||
x_pos, y_pos = pos2d
|
||||
font_id = 0
|
||||
blf.size(font_id, fsize, dpi)
|
||||
|
||||
# Compute the height of one line.
|
||||
mwidth, mheight = blf.dimensions(font_id, "Tp") # Use high and low letters.
|
||||
mheight *= 1.5
|
||||
|
||||
# Split text into lines.
|
||||
if isinstance(display_text, str):
|
||||
mylines = display_text.split("\n")
|
||||
else:
|
||||
mylines = display_text
|
||||
maxwidth = 0
|
||||
maxheight = len(mylines) * mheight
|
||||
|
||||
for idx, line in enumerate(mylines):
|
||||
text_width, text_height = blf.dimensions(font_id, line)
|
||||
if align == "C":
|
||||
newx = x_pos - text_width / 2
|
||||
elif align == "R":
|
||||
newx = x_pos - text_width - gap
|
||||
else:
|
||||
newx = x_pos
|
||||
|
||||
# Draw
|
||||
blf.position(font_id, newx, y_pos - mheight * idx, 0)
|
||||
bgl.glColor4f(*rgba)
|
||||
blf.draw(font_id, " " + line)
|
||||
|
||||
# saves max width
|
||||
if maxwidth < text_width:
|
||||
maxwidth = text_width
|
||||
|
||||
return maxwidth, maxheight
|
||||
|
||||
|
||||
def aabox(v1: Float2, v2: Float2, rgba: Float4):
|
||||
"""Draw an axis-aligned box."""
|
||||
|
||||
bgl.glColor4f(*rgba)
|
||||
bgl.glRectf(*v1, *v2)
|
||||
|
||||
|
||||
def aabox_with_texture(v1: Float2, v2: Float2):
|
||||
"""Draw an axis-aligned box with a texture."""
|
||||
|
||||
bgl.glColor4f(1.0, 1.0, 1.0, 1.0)
|
||||
|
||||
bgl.glEnable(bgl.GL_TEXTURE_2D)
|
||||
bgl.glBegin(bgl.GL_QUADS)
|
||||
bgl.glTexCoord2d(0, 0)
|
||||
bgl.glVertex2d(v1[0], v1[1])
|
||||
bgl.glTexCoord2d(0, 1)
|
||||
bgl.glVertex2d(v1[0], v2[1])
|
||||
bgl.glTexCoord2d(1, 1)
|
||||
bgl.glVertex2d(v2[0], v2[1])
|
||||
bgl.glTexCoord2d(1, 0)
|
||||
bgl.glVertex2d(v2[0], v1[1])
|
||||
bgl.glEnd()
|
||||
bgl.glDisable(bgl.GL_TEXTURE_2D)
|
||||
|
||||
|
||||
def bind_texture(texture: bpy.types.Image):
|
||||
"""Bind a Blender image to a GL texture slot."""
|
||||
bgl.glBindTexture(bgl.GL_TEXTURE_2D, texture.bindcode[0])
|
||||
|
||||
|
||||
def load_texture(texture: bpy.types.Image) -> int:
|
||||
"""Load the texture, return OpenGL error code."""
|
||||
return texture.gl_load(filter=bgl.GL_NEAREST, mag=bgl.GL_NEAREST)
|
Reference in New Issue
Block a user