4 class DataButtonsPanel(bpy.types.Panel):
5 __space_type__ = "BUTTONS_WINDOW"
6 __region_type__ = "WINDOW"
9 def poll(self, context):
10 ob = context.active_object
11 return (ob and ob.type == 'CAMERA')
13 class DATA_PT_cameralens(DataButtonsPanel):
14 __idname__ = "DATA_PT_camera"
17 def draw(self, context):
18 cam = context.active_object.data
21 layout.itemR(cam, "type", expand=True)
23 row = layout.row(align=True)
24 if cam.type == 'PERSP':
25 row.itemR(cam, "lens_unit", text="")
26 if cam.lens_unit == 'MILLIMETERS':
27 row.itemR(cam, "lens", text="Angle")
28 elif cam.lens_unit == 'DEGREES':
29 row.itemR(cam, "angle")
31 elif cam.type == 'ORTHO':
32 row.itemR(cam, "ortho_scale")
34 split = layout.split()
36 sub = split.column(align=True)
37 sub.itemL(text="Shift:")
38 sub.itemR(cam, "shift_x", text="X")
39 sub.itemR(cam, "shift_y", text="Y")
41 sub = split.column(align=True)
42 sub.itemL(text="Clipping:")
43 sub.itemR(cam, "clip_start", text="Start")
44 sub.itemR(cam, "clip_end", text="End")
47 row.itemR(cam, "dof_object")
48 row.itemR(cam, "dof_distance")
50 class DATA_PT_cameradisplay(DataButtonsPanel):
51 __idname__ = "DATA_PT_cameradisplay"
54 def draw(self, context):
55 cam = context.active_object.data
58 split = layout.split()
61 sub.itemR(cam, "show_limits", text="Limits")
62 sub.itemR(cam, "show_mist", text="Mist")
63 sub.itemR(cam, "show_title_safe", text="Title Safe")
64 sub.itemR(cam, "show_name", text="Name")
67 sub.itemR(cam, "show_passepartout", text="Passepartout")
68 if (cam.show_passepartout):
69 sub.itemR(cam, "passepartout_alpha", text="Alpha", slider=True)
70 sub.itemR(cam, "draw_size", text="Size")
72 bpy.types.register(DATA_PT_cameralens)
73 bpy.types.register(DATA_PT_cameradisplay)