Welcome to mirror list, hosted at ThFree Co, Russian Federation.

git.blender.org/blender.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2013-12-16BLF API: Add BLF_width_to_strlen,rstrlen gives a byte offset from a string widthCampbell Barton
2013-12-02Blender Font (BLF): add length argument to string width/height functionsCampbell Barton
This also fixes a crash editing buttons longer then UI_MAX_DRAW_STR
2013-06-28Fix #35884: crash opening .blend with generated color grid image and preview ↵Brecht Van Lommel
render. Printing text on the color grid image would initialize font glyphs from a thread at the same time as the UI, causing conflicts. The freetype glyph renderer needs to be mutex locked because it uses a shared buffer internally even when rendering for different fonts. Also needed to change the image generate function to use the render monospace font to avoid conflicts in blenfont. What's still weak in the blenfont API is that there is no distinction between a font and a thread using that font to render with some particular size, style, etc.
2013-03-21Bugfix: Transform autokey warning indicator text was getting clipped prematurelyJoshua Leung
After quite some time debugging going back through previous commits for this feature and digging around the internals of the blenfont,I finally found the culprit. It turns out that there was just a single line missing between BLF_width_default() and BLF_width_and_height_default(), which caused the widths returned to understimate the space required or so, causing text clipping. The offending line probably correcting for different DPI scaling values.
2013-03-12Patch [#34373] Use i18n monospace font in Text editor and Python consoleIrie Shinsuke
This patch allows Blender to display i18n monospace font in the text editor and the Python interactive console. Wide characters that occupy multiple columns such as CJK characters can be displayed correctly. Furthermore, wrapping, selection, suggestion, cursor drawing, and syntax highlighting should work. Also fixes a bug [#34543]: In Text Editor false color in comment on cyrillic To estimate how many columns each character occupies, this patch uses wcwidth.c written by Markus Kuhn and distributed under MIT-style license: http://www.cl.cam.ac.uk/~mgk25/ucs/wcwidth.c wcwidth.c is stored in extern/wcwidth and used as a static library. This patch adds new API to blenfont, blenlib and blenkernel: BLF_get_unifont_mono() BLF_free_unifont_mono() BLF_draw_mono() BLI_wcwidth() BLI_wcswidth() BLI_str_utf8_char_width() BLI_str_utf8_char_width_safe() txt_utf8_offset_to_column() txt_utf8_column_to_offset()
2013-02-21Compile fixes for recent code cleanups:Thomas Dinges
* M_PI was not declared for MSVC.
2013-02-21use radians for BLF_rotationCampbell Barton
2012-12-12Holiday coding log :)Ton Roosendaal
Nice formatted version (pictures soon): http://wiki.blender.org/index.php/Dev:Ref/Release_Notes/2.66/Usability Short list of main changes: - Transparent region option (over main region), added code to blend in/out such panels. - Min size window now 640 x 480 - Fixed DPI for ui - lots of cleanup and changes everywhere. Icon image need correct size still, layer-in-use icon needs remake. - Macbook retina support, use command line --no-native-pixels to disable it - Timeline Marker label was drawing wrong - Trackpad and magic mouse: supports zoom (hold ctrl) - Fix for splash position: removed ghost function and made window size update after creation immediate - Fast undo buffer save now adds UI as well. Could be checked for regular file save even... Quit.blend and temp file saving use this now. - Dixed filename in window on reading quit.blend or temp saves, and they now add a warning in window title: "(Recovered)" - New Userpref option "Keep Session" - this always saves quit.blend, and loads on start. This allows keeping UI and data without actual saves, until you actually save. When you load startup.blend and quit, it recognises the quit.blend as a startup (no file name in header) - Added 3D view copy/paste buffers (selected objects). Shortcuts ctrl-c, ctrl-v (OSX, cmd-c, cmd-v). Coded partial file saving for it. Could be used for other purposes. Todo: use OS clipboards. - User preferences (themes, keymaps, user settings) now can be saved as a separate file. Old option is called "Save Startup File" the new one "Save User Settings". To visualise this difference, the 'save startup file' button has been removed from user preferences window. That option is available as CTRL+U and in File menu still. - OSX: fixed bug that stopped giving mouse events outside window. This also fixes "Continuous Grab" for OSX. (error since 2009)
2012-11-11code cleanup:Campbell Barton
- blf doesnt have includes for TRUE/FALSE, use 1/0. - rename ogl_multisamples -> multi_sample, also shorten enum strings.
2012-11-11replace 0 and 1 with FALSE and TRUE in BLF_global_font_init in blf.cJason Wilkins
2012-10-12get the width and height of the font at once when drawing auto-key,Campbell Barton
also move BLF'g global font init into its own static function.
2012-09-15Color Management, Stage 2: Switch color pipeline to use OpenColorIOSergey Sharybin
Replace old color pipeline which was supporting linear/sRGB color spaces only with OpenColorIO-based pipeline. This introduces two configurable color spaces: - Input color space for images and movie clips. This space is used to convert images/movies from color space in which file is saved to Blender's linear space (for float images, byte images are not internally converted, only input space is stored for such images and used later). This setting could be found in image/clip data block settings. - Display color space which defines space in which particular display is working. This settings could be found in scene's Color Management panel. When render result is being displayed on the screen, apart from converting image to display space, some additional conversions could happen. This conversions are: - View, which defines tone curve applying before display transformation. These are different ways to view the image on the same display device. For example it could be used to emulate film view on sRGB display. - Exposure affects on image exposure before tone map is applied. - Gamma is post-display gamma correction, could be used to match particular display gamma. - RGB curves are user-defined curves which are applying before display transformation, could be used for different purposes. All this settings by default are only applying on render result and does not affect on other images. If some particular image needs to be affected by this transformation, "View as Render" setting of image data block should be set to truth. Movie clips are always affected by all display transformations. This commit also introduces configurable color space in which sequencer is working. This setting could be found in scene's Color Management panel and it should be used if such stuff as grading needs to be done in color space different from sRGB (i.e. when Film view on sRGB display is use, using VD16 space as sequencer's internal space would make grading working in space which is close to the space using for display). Some technical notes: - Image buffer's float buffer is now always in linear space, even if it was created from 16bit byte images. - Space of byte buffer is stored in image buffer's rect_colorspace property. - Profile of image buffer was removed since it's not longer meaningful. - OpenGL and GLSL is supposed to always work in sRGB space. It is possible to support other spaces, but it's quite large project which isn't so much important. - Legacy Color Management option disabled is emulated by using None display. It could have some regressions, but there's no clear way to avoid them. - If OpenColorIO is disabled on build time, it should make blender behaving in the same way as previous release with color management enabled. More details could be found at this page (more details would be added soon): http://wiki.blender.org/index.php/Dev:Ref/Release_Notes/2.64/Color_Management -- Thanks to Xavier Thomas, Lukas Toene for initial work on OpenColorIO integration and to Brecht van Lommel for some further development and code/ usecase review!
2012-08-13fix [#32126] STAMP: Setting a background color causes color flickerCampbell Barton
when rendering the sequencer can output float or char buffers which stamp wasn't accounting for.
2012-08-13fix for stamp text drawing into a color buffer not taking color management ↵Campbell Barton
into account.
2012-07-09code cleanupCampbell Barton
2012-05-27style cleanupCampbell Barton
2012-03-12Style cleanup in blenfont (spaces, C++ comments, etc.).Bastien Montagne
2012-01-06Move glTexEnvi to draw__start/draw__end.Diego Borghetti
As Campbell point, this is to avoid call glGet/glTexEnvi on each character.
2012-01-03Fix:Diego Borghetti
[#25834] no color of textobjects in game engine when combined with textured objects [#26893] Curruption of displayed text (debug properties/fps info or bgui) when using animated/tile uv mode The first bug was beacuse a bad mode on the texture environment, now we save the current glTexEnvi, set the one that we need, draw and restore the original at the end. The second was because a missing call to glLoadIdentity for the texture matrix and as we do before, now we do a gl-Push/Identity/Pop for this matrix to. The first problem was solved by Kanttori and the second by Dalai.
2011-10-23remove $Id: tags after discussion on the mailign list: ↵Campbell Barton
http://markmail.org/message/fp7ozcywxum3ar7n
2011-09-21Blenfont: add BLF_unload function to unload/reload fonts.Brecht Van Lommel
2011-09-18replace strnlen with BLI_strnlen & some style changes.Campbell Barton
2011-09-18blf - further shrink drawing functions & some style changes.Campbell Barton
2011-09-18blf code - no functional changes.Campbell Barton
- remove saniy checks from blf_font.c, the callers now check instead. - move duplicate code into defines (may move into static functions). - move kerning checks into const values set at the start of the function, rather then checking on every character.
2011-09-17Speedup for font drawing, every letter was character was calling:Campbell Barton
glGetIntegerv(GL_TEXTURE_2D_BINDING_EXT, &cur_tex); ... with shadow enabled glGetFloatv(GL_CURRENT_COLOR, color) was called twice per character as well. Now only call glGetFloatv(GL_CURRENT_COLOR, ...) once per string and only when drawing with shadow or blur, texture bind is stored in the font. Gives 8% overall FPS speedup when displaying heavy UI in my test.
2011-08-30minor edits, pep8 - also correct float -> double promotion for blf.Campbell Barton
2011-05-04new BLF functionsCampbell Barton
- BLF_height_max - BLF_width_max - BLF_descender - BLF_ascender use for tooltip and image stamp.
2011-04-30fix [#27221] stamp text bug in lower linesCampbell Barton
2011-02-27doxygen: blender/blenfont tagged.Nathan Letwory
2011-02-23doxygen: prevent GPL license block from being parsed as doxygen comment.Nathan Letwory
2011-02-14more vars made staticCampbell Barton
2011-01-12remove redundant assignments & unused vars.Campbell Barton
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.
2010-12-10Change the BLF_aspect function to handle 3d text.Diego Borghetti
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.
2010-12-09Add the possibility to set a 4x4 matrix to be used on blf.Diego Borghetti
This option allow the user to set a 4x4 matrix to be multiplied before draw the text, for example: double *m; /* Get the matrix or build it! */ BLF_matrix(m); BLF_enable(BLF_MATRIX); /* set color, size, etc and draw! */ BLF_disable(BLF_MATRIX); You don't need the last line (disable), but remember that if you use the font to draw in any other place, the matrix will be used!. The GL code is: glPushMatrix(); glMultMatrixd(m); glTranslatef(); glScalef(); glRotatef(); glPopMatrix(); Let's Dalai test this!!! :D
2010-11-27added option to turn off Text anti-aliasing in the UIMichael Fox
(userpref->system), with a great help from brecht (its been way too long for me). However as brecht pointed out that the non-AA text is slightly lareger then AA'ed Text :S, i did not do anything about this as this commit was just the option not the text drawing. this commit also makes it possible to do all kinds of UI textrender options
2010-11-26fix building blenderplayer and a divide by zero bug with the console view.Campbell Barton
2010-11-11fix for building, also use const char in more places.Campbell Barton
2010-11-11BLF_draw functions take an extra length argument, so the console drawing ↵Campbell Barton
doenst need to swap in NULL chars to draw word wrapping.
2010-10-31Minor speedups for 3D view text drawing ~10-15% improved frame-rate with ↵Campbell Barton
particle display. - ascii text drawing functions, slightly faster since they dont have to do hash lookups & utf8 conversions for each char. - used ascii drawing functions for the view3d's number display. - each text item was using fixed 128 chars, now only allocate the string length needed.
2010-04-22Remove unused var from blenfont.Diego Borghetti
2010-04-22BugFix:Diego Borghetti
[#20854] PROPERTIES STAMP: Rendering stamp flickers in output renders Blenfont was not thread safe, that is why one thread can change the font properties (size, dpi, color, etc) at the same time that the stamp draw on the image, and then the problem. To make blenfont thread safe I have to change two important things: 1) Every BLF_* function take one argument, the font id. 2) We have two new function to make font "thread safe": BLF_load_unique BLF_load_mem_unique This two function are for case like stamp, that need and own font that don't share the glyph cache, so can draw without problem in a different thread. Why the BLF_*_unique function ? Because blenfont keep only one copy of a font and keep a list of "glyph cache". Every glyph cache have size and dpi, so if two different thread access the same font at the same time, they can change value and finish with something like the stamp problem. Why don't remove the glyph cache ? Because if we do that, we finish with a font object for every size and dpi, and the stamp is really a special case that happen in the rendering process, so I really thing is better keep the glyph cache and make this two new function to handle this special case. (When I say "font object" I mean have the same freetype font multiple times just to have differents size and dpi) As Matt point we still can have one case that two thread access the BLF_*_unique function at the same time, but I am looking to fix this with some class of thread lock. For now I test and work fine, so if some one found problem, please let me know. Campbell I have to change the python api (python/generic/blf_api.c) to the new syntax, so maybe you can take a look at this.
2010-03-21remove includes that arnt neededCampbell Barton
2010-03-21Fix syntax for ID keyword.Guillermo S. Romero
2010-02-12correct fsf addressCampbell Barton
2009-10-27Compiler warning fixes for mingw:Joshua Leung
* There's an unresolved error in transform_conversions.c which I've flagged in this commit. I'm not quite sure what the exact intentions of that code were (i.e. was the "void_pointer = 1" really intended)
2009-09-14use static functions where possible for some local functions.Campbell Barton
2009-08-18Stamp info back only for float buffer. (next commit add unsigned char).Diego Borghetti
A couple of new functions: BLF_width_and_height - Merge of BLF_width and BLF_height in one call to avoid freetype2 stuff. BLF_buffer - Set the buffer, size and number of channel. BLF_buffer_col - Set the text color (the alpha is not used right now). BLF_draw_buffer - Draw the text in the current buffer. Also tweak a little the boundbox and draw function to avoid access the freetype2 and use the cache info. By default the font size is 12, the UI still need work to allow change the font and size.
2009-08-07Remove bitmap mode from blenfont, only draw with textures.Diego Borghetti
As Joe point on a previous mail, glBitmap don't work nice on all cards and also some of the things that we can do with texture are hard (or need that blender check the font mode) to implement.
2009-07-29Bitmap mode is back.Diego Borghetti
The option of Texture or Bitmap font is working again, yes it's really uuuuugly right now, but it work. On the next commit I go to put this at the same level that texture font. Change this from User Preferences -> Language -> Textued Fonts, save the preferences and run blender again.
2009-07-122.5: Couple of small fun featuresBrecht Van Lommel
* Text window font size now supports full range 8-32, instead of just 12 and 15. I added BLF_fixed_width to get the character width of a fixed size font. * Buttons do undo push on change again. * Animated/Keyframe/Driver colors are now themable, with blend value to blend with original color. Set this to 0.5 now to give colors less constrast. * Fix tooltip popping up with RMB menu open, and missing redraw. * Autokeyframe now works for buttons. * Driver expressions can be edited in place in a button now. (still some refresh issues). * Also made python driver default for the Add Driver function in the RMB button. This way you don't have to open a Graph editor if you just want to type an expression. Also, the default expression then is the current value. * Tooltips now show some extra info, not sure what is good to have, but currently I added: * Shortcut key for operator buttons. * Python struct & property name for RNA buttons. * Expression for driven values. * Value for text/search/pointer buttons.