- Bring back cursor set to PRESS event - block selection wouldn't
have correct start position;
- Undo stack push was missed in cursor_set operator;
- Remove unneeded cursor moving at set_selection operator;
- Fixed bug with scroll bar - it shouldn't use EVT_TWEAK;
There could be still small issues with selecting single character by
mouse (due to EVT_TWEAK threashold), but this operator is for block
selection, not single char. So shouldn't be big pain here.
- Change cursor changing from mouse press to mouse click. A bit "delayed"
UI feedback, but otherwise we'll be unable to use double-click events here
- Change clinebacks to callbacks in comment for select_line operator.
Or it was supposed to be clinebacks?
- cursor_set which just sets cursor position immediatelly
- selection_set which could be used to select block of text
Now there're could be operators binded to mouse double-click event
Use shift-del to cut, ctrl-ins to copy and shift-ins to paste
Most of editors support this hotkeys and it's annoying when you
trying to use them in text space.
- fix mistake with grease pencil UI (&& was intended but & used).
- use (void) rather then () across _all_ blenders code.
- a few minor edits, don't shadow stack variables in roll calculation & avoid running memset() for VBO vertex map.
The poll() callbacks used in the Text Editor for scrolling and text-
block unlinking operators were too restrictive when the text block was
lib-data.
- Scrolling lib-linked texts is useful for just checking out parts of
the linked-in file that aren't visible on screen already. For example,
checking the specific rig that some UI panels script will work on, or
reading a "README.txt" linked in with notes on which layers various
controls are on. It should be fine that this temporarily modifies the
linked text-block (but for view-settings which will can be reset
later/on file load without any real consequences).
- Unlink operator should be able to be run, otherwise it would be very
difficult to remove linked files from a file (?)
Added OPTYPE_GRAB_POINTER flag to scrolling operator, changed a bit logic of
delta calculation and removed unused members from TextScroll structure.
Got issue with very-fast mouse moving (when mouse pointer could go out of window,
but it's general issue for all grab operator).
Was unable to check MOUSEPAN event (two-finger scroll). Please poke me if
there are any issues with this event.
Text space's scroll bar now uses quite the same strategy of handling
drag and click events as view2d.
I tried to share some code between this two spaces. but there was no big
luck with it: text sace uses it's own constants (like scroll bas size and offsets),
so the simpliest way was to define zone stuff for text space without sharing it
with view2d.
also minor functional changes
- OBJECT_OT_make_links_data() type property is now assigned to the operator property (so popup menu can find it)
- removing BG image now returns cancelled if no image is removed.
2D view scrollers were drawing over background contents, making it
look somewhat messy (like for text, nodes, fcurves). Now it clears
first the back in the region edge.
- made theme colors for mesh edge len & face angle/area display.
- use %g rather then %f for float display, trims unneeded zeros.
- store cached 2d and 3d text color as bytes rather then floats, compare when drawing to avoid setting the context.
- use unsigned char for more color functions, avoids casting to glColorubv().
- Fixed some wierd cursor placements when clicking in special text position
(mostly when line segments had null-terminator at the max allowed position)
- Also subtract top padding, so centering is looks a bit better
This is need to properly handle 3d text (dalai work on GE), before
the BLF_aspect only take one argument, and the result was a call to:
glScalef(aspect, aspect, 1.0)
Now the three value are store in the font (x, y and z) and also
need to be enable using BLF_enable(BLF_ASPECT).
By default all the code that don't have BLF_ASPECT enable work with
a scale of 1.0 (so nothing change to the current UI).
I also remove all the call of BLF_aspect(fontid, 1.0) found in
the editors, because is disable by default, so no need any more.
Campbell the only thing to check is the python api, right now
I modify the api to from:
BLF_aspect(fontid, aspect)
to:
BLF_aspect(fontid, aspect, aspect, 1.0)
This is to avoid break the api, but now you need add the BLF_ASPECT
option to the function py_blf_enable and in some point change
py_blf_aspect to take 3 arguments.
only tags the ID and does the actual flush/update delayed, before the next
redraw. For objects the update was already delayed, just flushing wasn't
yet.
This should help performance in python and animation editors, by making
calls to RNA property update quicker. Still need to add calls in a few
places where this was previously avoided due to bad performance.