Fancy procedural icons for Keyframe Types
authorJoshua Leung <aligorith@gmail.com>
Sun, 13 Mar 2016 11:56:52 +0000 (00:56 +1300)
committerJoshua Leung <aligorith@gmail.com>
Sun, 13 Mar 2016 11:56:52 +0000 (00:56 +1300)
commit6bf9aa3f8e833df488911d6005b1683cca36c51e
tree444bde790664f485036dec9a1c51fe7642ff501a
parent81e7f6b8a0c99c953ca9659b1b317ae852c6508e
Fancy procedural icons for Keyframe Types

The new "default keyframe type" dropdown on the timeline header
(and also the "Keyframe Type" operator/properties in other places)
now has procedurally generated icons which reflect what that keyframe
type will look like when rendered in the Dope Sheet.

This was achieved using the ancient "VICON" (vector icon) stuff
that's lurking around in the dark parts of UI code. From memory,
the only other things that use (or used to use) this stuff included
some of the triangle icons for some dropdown buttons, or something
like that.

Notes:
* Theme colour changes are reflected immediately by these icons.
  This is possible because they are all drawn procedurally
* These icons scale with the DPI setting. I manually guessed the size of
  these icons. They can be adjusted further if needed.
* I've documented the steps for adding voodoo icons like this on the wiki
  (http://wiki.blender.org/index.php/Dev:2.7/Source/Checklists/Vector_Icon)
* It's true that the rendering of these keyframes doesn't quite fit the rest
  of the icons in the UI. However, since we're just leveraging the standard
  keyframe drawing methods (to avoid discreptancies between the two), we'll
  leave it as such for now. Maybe later we can consider blending in a bit of
  the glossy keyframe icons in the Icon Sheet?
release/scripts/startup/bl_ui/space_time.py
source/blender/editors/include/UI_icons.h
source/blender/editors/interface/interface_icons.c
source/blender/makesrna/intern/rna_fcurve.c