[Bf-blender-cvs] [a73b6c8] experimental-build: Squashed commit of the following:

Severin noreply at git.blender.org
Mon Dec 1 17:55:03 CET 2014


Commit: a73b6c8d236d1b68dd80a748eeaed53d08f5a883
Author: Severin
Date:   Mon Dec 1 17:52:49 2014 +0100
Branches: experimental-build
https://developer.blender.org/rBa73b6c8d236d1b68dd80a748eeaed53d08f5a883

Squashed commit of the following:

commit 36652982dd7cabf803ba4895d0c996685aafc8ca
Merge: a54d863 20a1778
Author: Severin <julian_eisel at web.de>
Date:   Mon Dec 1 17:35:11 2014 +0100

    Merge branch 'master' into ime

commit a54d863a93348e19a06b6aa7978e7befd4ea89cc
Author: Severin <julian_eisel at web.de>
Date:   Mon Dec 1 17:20:13 2014 +0100

    IME: Fix IME not ending composition after region change

    + adding some asserts

commit cce89d04ee10ad2c1e863327884f135dacca22b6
Merge: d399927 3bd4690
Author: Severin <julian_eisel at web.de>
Date:   Mon Dec 1 15:25:05 2014 +0100

    Merge branch 'master' into ime

commit d399927749c4d222bf3f0ac623880ec4e8626bc8
Author: Severin <julian_eisel at web.de>
Date:   Mon Dec 1 15:12:24 2014 +0100

    IME: Deduplicate wmImeData + minor cleanup

    * deduplicate use of wmImeData
    * add missing "ifdef WITH_INPUT_IME"s
    * usual minor cleanup

commit 80496abbf49a46f1e178ccb24d23403f94bea37b
Author: Severin <julian_eisel at web.de>
Date:   Sun Nov 30 20:06:29 2014 +0100

    Minor cleanup

    Adressing some of the inline comments from @sergey and @campbellbarton

commit b2a5b96ff48770be20e6afa1f843e032c797a412
Merge: 4fc691f b12dbdd
Author: Severin <julian_eisel at web.de>
Date:   Sun Nov 30 16:28:02 2014 +0100

    Merge branch 'master' into ime

commit 4fc691f619c64a1740747aa161391060212c7405
Merge: 316bae9 f1ea1da
Author: Severin <julian_eisel at web.de>
Date:   Wed Nov 26 00:47:09 2014 +0100

    Merge branch 'master' into ime

commit 316bae9fe859b11820d3fcbf3ae362afbde70d61
Author: Severin <julian_eisel at web.de>
Date:   Wed Nov 26 00:34:24 2014 +0100

    General Review Changes

    Main changes:
    * avoid using MEM_mallocN on every redraw
    * continue implementation of WITH_INPUT_IME CMake flag
    * whitespace and code style cleanups

commit 3e5962656a3778a9d8e6eca02f11284636880633
Merge: 1087b92 aa0b268
Author: Severin <julian_eisel at web.de>
Date:   Mon Nov 24 22:19:53 2014 +0100

    Merge remote-tracking branch 'origin/master' into ime

    Conflicts:
    	source/blender/editors/space_node/node_add.c
    	source/blender/editors/space_text/text_draw.c
    	source/blender/editors/space_view3d/view3d_edit.c

commit 1087b9236f5c42f5c497bd5d62787a55f64ebb69
Author: Severin <julian_eisel at web.de>
Date:   Mon Nov 24 00:27:36 2014 +0100

    Merge branch master into input_method_editor

commit a677da8638c95422db21bf50cf71de092e3c3b59
Author: Severin <julian_eisel at web.de>
Date:   Tue Nov 18 20:05:05 2014 +0100

    Finish support for CMake flag WITH_INPUT_IME

    Note: implementation not finished, needs a bit cleanup

commit b5cf3cd415b815e335713232339aa7d71ba25ae7
Author: Severin <julian_eisel at web.de>
Date:   Tue Nov 18 15:57:03 2014 +0100

    Cleanup: Moar whitespace cleanup, plus remove missed printf

    Hope that was the last cleanup commit for now :/

commit f65879fd51b6d1aaebe52bcd32c125a17a8984e6
Author: Severin <julian_eisel at web.de>
Date:   Mon Nov 17 23:57:27 2014 +0100

    Add missing files

commit ff27b12904b170e146065fe15734844a384a1ced
Author: Severin <julian_eisel at web.de>
Date:   Mon Nov 17 23:28:59 2014 +0100

    Cleanup: Whitespace, Comments, etc.

    It may be a bit early to do such cleanups, there are more important things
    to do first, but those things are extremely time consuming and I wanted to
    get rid of them first ;)

commit 30654e186fb665024669c489bc4524c01ceb52d1
Author: Severin <julian_eisel at web.de>
Date:   Mon Nov 17 18:18:11 2014 +0100

    set up ime branch

commit 60a035c52addad3d2c97d82b4b91fbe2587805f0
Author: Severin <julian_eisel at web.de>
Date:   Mon Nov 17 18:18:11 2014 +0100

    set up ime branch

commit fde03ec5789be41731db82d72394fdc50fc3ba10
Author: Campbell Barton <ideasman42 at gmail.com>
Date:   Sun Nov 23 22:00:26 2014 +0100

    Minor edits to T42649 fix

    - only modify paths for newly loaded images
    - don't attempt to read from library paths

commit 0f159b730669595ff81c477e4de4cc826a7f2c3c
Author: Bastien Montagne <montagne29 at wanadoo.fr>
Date:   Sun Nov 23 20:51:08 2014 +0100

    Fix BLI_Bitmap - was not usable in BKE area (strict compile flags).

commit 98beae0c110ecbcdf9c42d1ef87a5da7b9f202f9
Author: Bastien Montagne <montagne29 at wanadoo.fr>
Date:   Sun Nov 23 20:49:34 2014 +0100

    Fix freestyle compile.

    Do not know why this shows up now, probably a recent tweak in BLI_utildefines.h or so...

commit b68166355ac5e046cb1033123798277a081a2811
Author: julianeisel <julian_eisel at web.de>
Date:   Sun Nov 23 19:38:27 2014 +0100

    Fix T42649: Use Relative Paths for Node Editor & 3D View Images

    Images are now added with relative paths to the Node Editor and the 3D View.

commit 2bf7215130d3ef7d5f12aad810ebef4ed7fd44c8
Author: Campbell Barton <ideasman42 at gmail.com>
Date:   Sun Nov 23 15:54:29 2014 +0100

    Refactor: BLI_path_util (part 2)

    Use BKE_appdir/tempdir naming prefix for functions extracted from BLI_path_util

commit 14502a355784410c1dcd67755c05e518b38f1fab
Author: Campbell Barton <ideasman42 at gmail.com>
Date:   Sun Nov 23 14:37:13 2014 +0100

    Refactor: BLI_path_util (split out app directory access)

    This module is intended for path manipulation functions
    but had utility functions added to access various directories.

commit e0283f8b6c2926cb0d4eb9021697bcab645924be
Author: Campbell Barton <ideasman42 at gmail.com>
Date:   Sun Nov 23 15:13:58 2014 +0100

    Cleanup: warnings

commit fffc35c34a5537263fe4d637328ef0383231e88b
Author: Thomas Dinges <blender at dingto.org>
Date:   Sat Nov 22 20:21:18 2014 +0100

    Cycles UI: Several fixes for recent additions...

    * Alpha Property was removed (Fix T42690)
    * Some tweaks to make the panel look better again.
    * Use abreviated form "Multiple Importance" everywhere, for consistency.

commit 8299602f1f3980515c94fac39ebf9b919e9f2874
Author: Campbell Barton <ideasman42 at gmail.com>
Date:   Sat Nov 22 18:11:46 2014 +0100

    Math Lib: add constant: M_SQRT1_3 1/sqrt(3)

commit 3d6b91229370e3e25964a41125ea93a4c68e0fed
Author: Bastien Montagne <montagne29 at wanadoo.fr>
Date:   Sat Nov 22 14:39:53 2014 +0100

    Fix T42688: python crash: bpy.context.scene.update().

    `ED_render_scene_update()` should ensure it does have some WM to work on...

commit 4a55637a0da4257072f2182c1955af9dbfb78657
Author: Joshua Leung <aligorith at gmail.com>
Date:   Sat Nov 22 18:04:08 2014 +1300

    Bugfix T42549: Grease pencil layers are not scene-specific for "full copy scenes"

commit 4135458c3d30b2ab71b53950903bc8fcaef8efb3
Author: Joshua Leung <aligorith at gmail.com>
Date:   Sat Nov 22 18:03:37 2014 +1300

    Fix for previous commit

    gpencil_data_duplicate() was being used for gp drawing undo buffers, where using an
    exact copy is exactly what we want/need. Instead, the code here now has an additional
    arg for determining whether a direct copy is warranted or not.

commit c3eab0e2f4c8b6b1b2c62727358f936d2147604f
Author: Joshua Leung <aligorith at gmail.com>
Date:   Sat Nov 22 01:52:28 2014 +1300

    Bugfix: Duplicating Grease Pencil datablocks wasn't doing so in a safe way

    Grease Pencil data (bGPdata) is now a datablock, so it isn't safe to use
    MEM_dupallocN() for copying new instances of these anymore.

commit 9901eed588a8b0f6ae2de02dfa2b0c15e7a98992
Author: Antony Riakiotakis <kalast at gmail.com>
Date:   Fri Nov 21 21:39:52 2014 +0100

    Fix leftover f postfix from C code.

commit 48b3a09c4199a0f30a4fed8f9a6163d5af98a23c
Author: Campbell Barton <ideasman42 at gmail.com>
Date:   Fri Nov 21 21:22:31 2014 +0100

    Text Editor: incorrect clipping at bottom

    Patch T42637 by @donfabio

commit ea671a6e872e68c41ff186a7b16f869704d6f414
Author: Gaia Clary <gaia.clary at machinimatrix.org>
Date:   Fri Nov 21 16:01:18 2014 +0100

    fix T42676 replaced windows specific include by BLI_utildefines.h

commit a36778ab8e519098880fb34136b1016849bbf36f
Author: Campbell Barton <ideasman42 at gmail.com>
Date:   Thu Nov 20 21:38:05 2014 +0100

    BMesh: check for loop side-of-loop & side-of-edge

commit b4337e870e52200f7eb5e66f77333f87d0f6ca2a
Author: Campbell Barton <ideasman42 at gmail.com>
Date:   Fri Nov 21 14:14:50 2014 +0100

    Cleanup: typo

commit ed01da08fdad9f7740da16d32948643bf4365d4c
Author: Antony Riakiotakis <kalast at gmail.com>
Date:   Fri Nov 21 14:07:25 2014 +0100

    Cycles: support for specular color in solid shading mode, available in
    the material panel.

    Patch by Phillipp Oeser (D62) with some minor modifications, thanks!

commit e2855b81a482a2dbace648ff2d8e40c0f123b4c3
Author: Joshua Leung <aligorith at gmail.com>
Date:   Sat Nov 22 01:29:32 2014 +1300

    Bugfix T42048: Keyframes missing when animating particle system blend texture parameters

    Textures attached to particle systems are now get their animation data listed
    under the particle systems they are attached to now. This is the most convenient
    and direct way that these can get included

commit 6650436d4adcb54a1dfcdd716746dc30961651f9
Author: Campbell Barton <ideasman42 at gmail.com>
Date:   Fri Nov 21 13:07:18 2014 +0100

    CMake: disable OSL if its not found

commit e2e69f6011705c02f9839a75823fc5f3a385ffb8
Author: Joshua Leung <aligorith at gmail.com>
Date:   Sat Nov 22 00:55:57 2014 +1300

    Bugfix T41527: Animations of world texture properties invisible in anim editors

    Was caused by a typo - "items" was used in place of "tmp_items", causing animation
    in the texture to get ignored if nothing else was present

commit 6147ad35962a55f5a97f9847454dc6def383067b
Author: Joshua Leung <aligorith at gmail.com>
Date:   Sat Nov 22 00:43:41 2014 +1300

    Bugfix T42648: Invert Selection operator is not working for animation channels

    The wrong selection mode was being used/passed to operators.

commit b0ea6aecb3582e223b85e0cc336b5afcc8600ede
Author: Bastien Montagne <montagne29 at wanadoo.fr>
Date:   Fri Nov 21 12:26:13 2014 +0100

    Fix T42421: HDR reader could easily read past buffer (truncated HDR files e.g.) and segfault.

    Now readers get an 'mem_eof' guard pointer, and they abort in case they try to go past it.

commit a7536dfac5b33486be769dad68c164af04d4167c
Author: Sergey Sharybin <sergey.vfx at gmail.com>
Date:   Fri Nov 21 11:31:30 2014 +0100

    Task scheduler: Add an option to limit number of threads per pool

    This way we can have scheduler capable of scheduling tasks on all the CPUs
    but in the same time we can limit tasks like baking (in the future) to use
    no more than given number of threads.

commit d4726517135fe3b7d98926ca59e1894fe329f1b2
Author: Sergey Sharybin <sergey.vfx at gmail.com>
Date:   Thu Nov 20 21:05:03 2014 +0100

    Compsitor: White space cleanup

commit 808c6e383bb10fa1181aea1cec8d255bf2ce6a38
Author: Bastien Montagne <montagne29 at wanadoo.fr>
Date:   Thu Nov 20 20:23:13 2014 +0100

    Cleanup: ints/shorts -> bool.

commit 70dee80a8b74ce0a16f2d7d1bad30fa6a1f66fd9
Author: Antony Riakiotakis <kalast at gmail.com>
Date:   Thu Nov 20 19:43:32 2014 +0100

    Fix T42622, environment texture GLSL result different from rendering.

    Also included mirror ball shader, which was missing.

commit 77447f0401f09eacf267daf987e6835313076e5e
Author: Antony Riakiotakis <kalast at gmail.com>
Date:   Thu Nov 20 18:58:24 2014 +0100

    Fix T42639, editcurve flags not getting restored on undo.

    Error here could be reproduced by tweaking curve properties such as
    2d-3d or fill type and undoing.

commit 157e6ef22df00af72cbd9d7ebc377cb27e2db47c
Author: Antony Riakiotakis <kalast at gmail.com>
Date:   Thu Nov 20 18:11:12 2014 +0100

    Fix T42662 hide unselected does not reveal selected.

    Not sure if this is a bugfix exactly but should help the gooseberry team
    with their workflow.

commit 78b91eb23fabaf4231bad4e71e3ad6f1334d1ecc
Author: Antony Riakiotakis <kalast at gmail.com>
Date:   Thu Nov 20 17:44:47 2014 +0100

    Fix T42660 snapping not working nicely on graph editor.

    Basically, get the grid increments and reuse them when snapping. System
    is slightly crappy here, we should calculate those factors only once,
    but leaving as todo for later.

commit c6b2422db0763a5aeae6562537163f22e682f084
Author: Antony Riakiotakis <kalast at gmail.com>
Date:   Thu Nov 20 15:43:41 2014 +0100

    Fix color tweaking in vertex painting not getting an undo push (would
    cause color reset between strokes)

commit d6931a6ce6b53ec068dda808078d2ef230216ae9
Author: Antony Riakiotakis <kalast at gmail.com>
Date:   Thu Nov 20 15:26:58 2014 +0100

    Fix T42647, vertex and weight painting mode do not display solid shaded
    when VBOs is off.

commit d5e0613d6eb05a729fdeddb6078dc5c3a31f3c5e
Author: Sergey Sharybin <sergey.vfx at gmail.com>
Date:   Thu Nov 20 15:27:10 2014 +0100

    SCons: Proper solution for local symbols map

    Configuration used to override the link flags, it better restore them
    once the configuration is done.

commit 6a6336ce77365b3f3ef8be3bef2a40e33f9d2093
Author: Bastien Montagne <montagne29 at wanadoo.fr>
Date:   Thu Nov 20 14:57:35 2014 +0100

    Fix T42638: Roll angle inconsistent flip in edit mode.

    Basically, `angle_compat_rad()` was completely broken -
    example of result it could produce:

    | new angle | compat angle |    result
    | -0.000000 |   3.141593   | -> 3.141593

    ... Where 0.0 (or 2 * PI) would be expected!

commit e0b960a77e51e18301bf5b0e1932932e92a730db
Author: Sergey Sharybin <sergey.vfx at gmail.com>
Date:   Thu Nov 20 18:54:41 2014 +0500

    Cycles: Remove dynamic library helper files

    They were only needed for CUDA wrangler. Since we've switched to CUEW
    this utility functions are no longer needed.

commit 7bd15aa34785f17b54940daca7b9617f7e23d7f1
Author: Sergey Sharybin <sergey.vfx at gmail.com>
Date:   Thu Nov 20 18:30:13 2014 +0500

    Cycles: Fix typo on graphiz graph dumper

commit bbe68ddf7ecf2088adc6e20e73c248c5f360d197
Author: Joshua Leung <aligorith at gmail.com>
Date:   Fri Nov 21 01:43:56 2014 +1300

    Bugfix T42661: shortcut "." and "," for changing pivot center don't work on Graph Editor

commit 339147666aa2b2ccfdb83874f4a3ab7776596990
Author: Sergey Sharybin <sergey.vfx at gmail.com>
Date:   Thu Nov 20 15:28:37 2014 +0500

    SCons: Remove duplicate PLATFORM_LINKFLAGS from makesdna and makesrna

    Hopefully it'll fix "anonymous version tag cannot be combined with other version"
    compilation error.

commit 716642379f774e28084d36f4e5ff2849e9d853d9
Author: Campbell Barton <ideasman42 at gmail.com>
Date:   Thu Nov 20 11:03:38 2014 +0100

    mathutils.kdtree: fix docstrings

commit b6192bfa3be5c564d2f3ce5744b2fd65e64e81fb
Author: Thomas Dinges <blender at dingto.org>
Date:   Thu Nov 20 07:53:22 2014 +0100

    Cleanup: Remove SD_BSDF_GLOSSY flag, unused.

commit 15a212ee0681e01710f6b79c4fb125c1f9573235
Author: Bastien Montagne <montagne29 at wanadoo.fr>
Date:   Wed Nov 19 20:48:35 2014 +0100

    Cleanup: #define -> enums.

commit d813f70382f9f0919af8caf55e147a21e9c960ac
Author: Sergey Sharybin <sergey.vfx at gmail.com>
Date:   Wed Nov 19 19:41:41 2014 +0100

    Switch to SDL2 on OSX

commit 3e5de9dc3fbae537a41ed92c7f33d94f2d7d1ac7
Author: Joshua Leung <aligorith at gmail.com>
Date:   Thu Nov 20 03:07:09 2014 +1300

    Fix: Shift-H now works in main graph editor area too

    In the process, I've removed the old operator (ANIM_OT_channels_visibility_set)
    and folded that option in with the hide operator, to make this consistent
    with how this is done in the 3D view and other parts of Blender.

commit 656b868db927bf9311c3fe3747a96039316e28a5
Author: Joshua Leung <aligorith at gmail.com>
Date:   Thu Nov 20 02:46:45 2014 +1300

    Tweaks to hide/reveal hotkeys for Graph Editor

    Now the hotkeys here work in line with what's done for other parts of Blender
    * H = Hide selected
    * Shift-H = Hide unselected  (i.e. old VKEY behaviour)
    * Alt-H = Reveal all

commit aee3d19082e9f0c0a69d1e6de795dbeeef290545
Author: Campbell Barton <ideasman42 at gmail.com>
Date:   Wed Nov 19 14:35:00 2014 +0100

    Cleanup: name hide/reveal, like rest of operators

commit 56d4aed17d3b118b2b8e504fe3df19e2c5f96772
Author: Joshua Leung <aligorith at gmail.com>
Date:   Thu Nov 20 02:24:42 2014 +1300

    Graph Editor: H/Shift-H now hide and unhide selected curves (Gooseberry Request)

    Revised the tools for managing which FCurves are visible in the Graph Editor
    curves area. Now, there are the following tools in place:
    * V (channels region only) = Hide all curves except those in selected channels  [OLD]

    * H       = Hide all selected curves  [NEW]
    * Shift-H = Show all previously hidden curves [NEW]

    I've removed the old operator to toggle visibility status of selected curves,
    as it doesn't seem that useful anymore.

commit c6acfdf2a0464b4437cfaa43cc3b951c2f2909bf
Author: Bastien Montagne <montagne29 at wanadoo.fr>
Date:   Tue Nov 18 23:52:17 2014 +0100

    Refactor: Move part of vgroup handling code from ED_mesh/object_vgroup.c to BKE_object_deform.

    Along with some minor cleanup and simplifications.

    Reviewers: campbellbarton

    Subscribers: sergey

    Differential Revision: https://developer.blender.org/D903

commit baccf320767144d97253e0d9c8e39e58c4802978
Merge: e42f974 d06b1a5
Author: Severin <julian_eisel at web.de>
Date:   Tue Nov 18 23:12:09 2014 +0100

    Merge branch 'master' of git.blender.org:blender into input_method_editor

commit e42f974ae6056f4aaebca819222a12f1b9040396
Author: Severin <julian_eisel at web.de>
Date:   Tue Nov 18 20:05:05 2014 +0100

    Finish support for CMake flag WITH_INPUT_IME

    Note: implementation not finished, needs a bit cleanup

commit 122ad8ac6d8d0936178663f30b71eaccc134f88d
Author: Severin <julian_eisel at web.de>
Date:   Tue Nov 18 15:57:03 2014 +0100

    Cleanup: Moar whitespace cleanup, plus remove missed printf

    Hope that was the last cleanup commit for now :/

commit f086c5a1ea400cd4808955eb817e3bb9b513c548
Author: Severin <julian_eisel at web.de>
Date:   Tue Nov 18 01:44:12 2014 +0100

    CMake: add WITH_INPUT_IME option + various fixes/cleanup

    *note:* implementation of WITH_INPUT_IME is only halfway finished, you'll
    get build errors if you disable it

commit c4b7440bc02e91885e9111942d2397a8072885e7
Author: Severin <julian_eisel at web.de>
Date:   Tue Nov 18 00:02:47 2014 +0100

    Cleanup: Whitespace before comments

    Missed that in rB23c7716bbbdef99

commit 7d281401fd187dfbb9b8dd203f4468901db2bfe4
Author: Severin <julian_eisel at web.de>
Date:   Mon Nov 17 23:57:27 2014 +0100

    Add missing files

commit 23c7716bbbdef9958274e19f03be201d34506a1b
Author: Severin <julian_eisel at web.de>
Date:   Mon Nov 17 23:28:59 2014 +0100

    Cleanup: Whitespace, Comments, etc.

    It may be a bit early to do such cleanups, there are more important things
    to do first, but those things are extremely time consuming and I wanted to
    get rid of them first ;)

commit 98f03331104c2e497c8553ec33fff666060345ab
Author: Severin <julian_eisel at web.de>
Date:   Mon Nov 17 18:30:01 2014 +0100

    Cleanup: Use *win instead of *window (moar consistent)

commit 7907014ed7da132fc88ec1b9dcb8b573ec9dd22a
Author: Severin <julian_eisel at web.de>
Date:   Mon Nov 17 18:18:11 2014 +0100

    set up ime branch

===================================================================

M	CMakeLists.txt
M	build_files/scons/config/win32-mingw-config.py
M	build_files/scons/config/win32-vc-config.py
M	build_files/scons/config/win64-mingw-config.py
M	build_files/scons/config/win64-vc-config.py
M	intern/ghost/CMakeLists.txt
M	intern/ghost/GHOST_C-api.h
M	intern/ghost/GHOST_IWindow.h
A	intern/ghost/GHOST_ImeWin32.h
M	intern/ghost/GHOST_Types.h
M	intern/ghost/intern/GHOST_C-api.cpp
A	intern/ghost/intern/GHOST_ImeWin32.cpp
A	intern/ghost/intern/GHOST_ImeWin32.h
M	intern/ghost/intern/GHOST_SystemWin32.cpp
M	intern/ghost/intern/GHOST_SystemWin32.h
M	intern/ghost/intern/GHOST_Window.h
M	intern/ghost/intern/GHOST_WindowWin32.cpp
M	intern/ghost/intern/GHOST_WindowWin32.h
M	source/blender/editors/include/UI_interface.h
M	source/blender/editors/interface/CMakeLists.txt
M	source/blender/editors/interface/interface.c
M	source/blender/editors/interface/interface_handlers.c
M	source/blender/editors/interface/interface_intern.h
M	source/blender/editors/interface/interface_widgets.c
M	source/blender/editors/screen/CMakeLists.txt
M	source/blender/editors/screen/screen_edit.c
M	source/blender/editors/space_console/CMakeLists.txt
M	source/blender/editors/space_console/console_draw.c
M	source/blender/editors/space_console/console_intern.h
M	source/blender/editors/space_console/console_ops.c
M	source/blender/editors/space_console/space_console.c
M	source/blender/editors/space_info/CMakeLists.txt
M	source/blender/editors/space_info/info_draw.c
M	source/blender/editors/space_info/info_intern.h
M	source/blender/editors/space_info/info_report.c
M	source/blender/editors/space_info/space_info.c
M	source/blender/editors/space_info/textview.c
M	source/blender/editors/space_info/textview.h
M	source/blender/editors/space_text/CMakeLists.txt
M	source/blender/editors/space_text/space_text.c
M	source/blender/editors/space_text/text_draw.c
M	source/blender/editors/space_text/text_format.h
M	source/blender/editors/space_text/text_intern.h
M	source/blender/editors/space_text/text_ops.c
M	source/blender/makesdna/DNA_windowmanager_types.h
M	source/blender/windowmanager/CMakeLists.txt
M	source/blender/windowmanager/WM_api.h
M	source/blender/windowmanager/WM_types.h
M	source/blender/windowmanager/intern/wm_event_system.c
M	source/blender/windowmanager/intern/wm_window.c
M	source/blender/windowmanager/wm_event_types.h
M	source/blender/windowmanager/wm_window.h

===================================================================

diff --git a/CMakeLists.txt b/CMakeLists.txt
index 87ee852..b69f844 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -318,6 +318,9 @@ mark_as_advanced(WITH_LIBMV_SCHUR_SPECIALIZATIONS)
 option(WITH_FREESTYLE     "Enable Freestyle (advanced edges rendering)" ON)
 
 # Misc
+if (WIN32)
+	option(WITH_INPUT_IME "Enable Input Method Editor (IME)" ON)
+endif()
 option(WITH_INPUT_NDOF "Enable NDOF input devices (SpaceNavigator and friends)" ${_init_INPUT_NDOF})
 option(WITH_RAYOPTIMIZATION	"Enable use of SIMD (SSE) optimizations for the raytracer" ON)
 option(WITH_OPENNL        "Enable use of Open Numerical Library" ON)
@@ -1149,7 +1152,7 @@ elseif(WIN32)
 		set(CMAKE_SHARED_LINKER_FLAGS "${CMAKE_SHARED_LINKER_FLAGS} /SAFESEH:NO")
 		set(CMAKE_MODULE_LINKER_FLAGS "${CMAKE_MODULE_LINKER_FLAGS} /SAFESEH:NO")
 
-		list(APPEND PLATFORM_LINKLIBS ws2_32 vfw32 winmm kernel32 user32 gdi32 comdlg32 advapi32 shfolder shell32 ole32 oleaut32 uuid psapi)
+		list(APPEND PLATFORM_LINKLIBS ws2_32 vfw32 winmm kernel32 user32 gdi32 comdlg32 advapi32 shfolder shell32 ole32 oleaut32 uuid psapi imm32)
 
 		add_definitions(
 			-D_CRT_NONSTDC_NO_DEPRECATE
@@ -1505,7 +1508,7 @@ elseif(WIN32)
 			endif()
 		endif()
 		
-		list(APPEND PLATFORM_LINKLIBS -lshell32 -lshfolder -lgdi32 -lmsvcrt -lwinmm -lmingw32 -lm -lws2_32 -lz -lstdc++ -lole32 -luuid -lwsock32 -lpsapi)
+		list(APPEND PLATFORM_LINKLIBS -lshell32 -lshfolder -lgdi32 -lmsvcrt -lwinmm -lmingw32 -lm -lws2_32 -lz -lstdc++ -lole32 -luuid -lwsock32 -lpsapi -limm32)
 		set(PLATFORM_CFLAGS "-pipe -funsigned-char -fno-strict-aliasing")
 
 		if(WITH_MINGW64)
diff --git a/build_files/scons/config/win32-mingw-config.py b/build_files/scons/config/win32-mingw-config.py
index 85aa72a..d67ee2f 100644
--- a/build_files/scons/config/win32-mingw-config.py
+++ b/build_files/scons/config/win32-mingw-config.py
@@ -196,7 +196,7 @@ C_WARN = ['-Wno-char-subscripts', '-Wdeclaration-after-statement', '-Wstrict-pro
 
 CC_WARN = [ '-Wall' ]
 
-LLIBS = ['-lshell32', '-lshfolder', '-lgdi32', '-lmsvcrt', '-lwinmm', '-lmingw32', '-lm', '-lws2_32', '-lz', '-lstdc++','-lole32','-luuid', '-lwsock32', '-lpsapi']
+LLIBS = ['-lshell32', '-lshfolder', '-lgdi32', '-lmsvcrt', '-lwinmm', '-lmingw32', '-lm', '-lws2_32', '-lz', '-lstdc++','-lole32','-luuid', '-lwsock32', '-lpsapi', '-limm32']
 
 PLATFORM_LINKFLAGS = ['-Xlinker', '--stack=2097152']
 
diff --git a/build_files/scons/config/win32-vc-config.py b/build_files/scons/config/win32-vc-config.py
index 48a40cf..d903ded 100644
--- a/build_files/scons/config/win32-vc-config.py
+++ b/build_files/scons/config/win32-vc-config.py
@@ -235,7 +235,7 @@ C_WARN = []
 CC_WARN = []
 CXX_WARN = []
 
-LLIBS = ['ws2_32', 'vfw32', 'winmm', 'kernel32', 'user32', 'gdi32', 'comdlg32', 'advapi32', 'shfolder', 'shell32', 'ole32', 'oleaut32', 'uuid', 'psapi']
+LLIBS = ['ws2_32', 'vfw32', 'winmm', 'kernel32', 'user32', 'gdi32', 'comdlg32', 'advapi32', 'shfolder', 'shell32', 'ole32', 'oleaut32', 'uuid', 'psapi', 'imm32']
 
 PLATFORM_LINKFLAGS = ['/SUBSYSTEM:CONSOLE','/MACHINE:IX86','/STACK:2097152','/INCREMENTAL:NO', '/LARGEADDRESSAWARE', '/NODEFAULTLIB:msvcrt.lib', '/NODEFAULTLIB:msvcmrt.lib', '/NODEFAULTLIB:msvcurt.lib', '/NODEFAULTLIB:msvcrtd.lib']
 
diff --git a/build_files/scons/config/win64-mingw-config.py b/build_files/scons/config/win64-mingw-config.py
index 92dcd6d..845dfb9 100644
--- a/build_files/scons/config/win64-mingw-config.py
+++ b/build_files/scons/config/win64-mingw-config.py
@@ -190,7 +190,7 @@ C_WARN = ['-Wno-char-subscripts', '-Wdeclaration-after-statement', '-Wstrict-pro
 
 CC_WARN = [ '-Wall' ]
 
-LLIBS = ['-lshell32', '-lshfolder', '-lgdi32', '-lmsvcrt', '-lwinmm', '-lmingw32', '-lm', '-lws2_32', '-lz', '-lstdc++','-lole32','-luuid', '-lwsock32', '-lpsapi', '-lpthread']
+LLIBS = ['-lshell32', '-lshfolder', '-lgdi32', '-lmsvcrt', '-lwinmm', '-lmingw32', '-lm', '-lws2_32', '-lz', '-lstdc++','-lole32','-luuid', '-lwsock32', '-lpsapi', '-lpthread', '-limm32']
 
 PLATFORM_LINKFLAGS = ['-Xlinker', '--stack=2097152']
 
diff --git a/build_files/scons/config/win64-vc-config.py b/build_files/scons/config/win64-vc-config.py
index 285e9ac..b34b2b8 100644
--- a/build_files/scons/config/win64-vc-config.py
+++ b/build_files/scons/config/win64-vc-config.py
@@ -242,7 +242,7 @@ C_WARN = []
 CC_WARN = []
 CXX_WARN = []
 
-LLIBS = ['ws2_32', 'vfw32', 'winmm', 'kernel32', 'user32', 'gdi32', 'comdlg32', 'advapi32', 'shfolder', 'shell32', 'ole32', 'oleaut32', 'uuid', 'psapi']
+LLIBS = ['ws2_32', 'vfw32', 'winmm', 'kernel32', 'user32', 'gdi32', 'comdlg32', 'advapi32', 'shfolder', 'shell32', 'ole32', 'oleaut32', 'uuid', 'psapi', 'imm32']
 
 PLATFORM_LINKFLAGS = ['/SUBSYSTEM:CONSOLE','/MACHINE:X64','/STACK:2097152','/OPT:NOREF','/INCREMENTAL:NO', '/NODEFAULTLIB:msvcrt.lib', '/NODEFAULTLIB:msvcmrt.lib', '/NODEFAULTLIB:msvcurt.lib', '/NODEFAULTLIB:msvcrtd.lib']
 
diff --git a/intern/ghost/CMakeLists.txt b/intern/ghost/CMakeLists.txt
index 3ce269c..8f30564 100644
--- a/intern/ghost/CMakeLists.txt
+++ b/intern/ghost/CMakeLists.txt
@@ -280,6 +280,16 @@ elseif(WIN32)
 		)
 	endif()
 
+	if(WITH_INPUT_IME)
+		add_definitions(-DWITH_INPUT_IME)
+
+		list(APPEND SRC
+			intern/GHOST_ImeWin32.cpp
+				
+			intern/GHOST_ImeWin32.h
+		)
+	endif()
+	
 	if(WITH_INPUT_NDOF)
 		list(APPEND SRC
 			intern/GHOST_NDOFManagerWin32.cpp
diff --git a/intern/ghost/GHOST_C-api.h b/intern/ghost/GHOST_C-api.h
index 7b47f05..56d30cb 100644
--- a/intern/ghost/GHOST_C-api.h
+++ b/intern/ghost/GHOST_C-api.h
@@ -897,6 +897,30 @@ extern int GHOST_UseNativePixels(void);
  */
 extern float GHOST_GetNativePixelSize(GHOST_WindowHandle windowhandle);
 
+/**
+ * Enable IME attached to the given window, i.e. allows user-input
+ * events to be dispatched to the IME.
+ * \param windowhandle Window handle of the caller
+ * \param x Requested x-coordinate of the rectangle
+ * \param y Requested y-coordinate of the rectangle
+ * \param w Requested width of the rectangle
+ * \param h Requested height of the rectangle
+ * \param complete Whether or not to complete the ongoing composition
+ *     true:  Start a new composition
+ *     false: Move the IME windows to the given position without finishing it.
+ */
+extern void GHOST_BeginIME(GHOST_WindowHandle windowhandle,
+                            GHOST_TInt32 x,
+                            GHOST_TInt32 y,
+                            GHOST_TInt32 w,
+                            GHOST_TInt32 h,
+                            int complete);
+/**
+ * Disable the IME attached to the given window, i.e. prohibits any user-input
+ * events from being dispatched to the IME.
+ * \param windowhandle The window handle of the caller
+ */
+extern void GHOST_EndIME(GHOST_WindowHandle windowhandle);
 
 #ifdef __cplusplus
 }
diff --git a/intern/ghost/GHOST_IWindow.h b/intern/ghost/GHOST_IWindow.h
index 71dc193..58d8172 100644
--- a/intern/ghost/GHOST_IWindow.h
+++ b/intern/ghost/GHOST_IWindow.h
@@ -331,6 +331,30 @@ public:
 
 	virtual float getNativePixelSize(void) = 0;
 
+#ifdef WITH_INPUT_IME
+	/**
+	 * Enable IME attached to the given window, i.e. allows user-input
+	 * events to be dispatched to the IME.
+	 * \param x Requested x-coordinate of the rectangle
+	 * \param y Requested y-coordinate of the rectangle
+	 * \param w Requested width of the rectangle
+	 * \param h Requested height of the rectangle
+	 * \param complete Whether or not to complete the ongoing composition
+	 *     true:  Start a new composition
+	 *     false: Move the IME windows to the given position without finishing it.
+	 */
+	virtual void beginIME(GHOST_TInt32 x,
+                           GHOST_TInt32 y,
+                           GHOST_TInt32 w,
+                           GHOST_TInt32 h,
+                           int completed) = 0;
+
+	/**
+	 * Disable the IME attached to the given window, i.e. prohibits any user-input
+	 * events from being dispatched to the IME.
+	 */
+	virtual void endIME() = 0;
+#endif /* WITH_INPUT_IME */
 	
 #ifdef WITH_CXX_GUARDEDALLOC
 	MEM_CXX_CLASS_ALLOC_FUNCS("GHOST:GHOST_IWindow")
diff --git a/intern/ghost/GHOST_ImeWin32.h b/intern/ghost/GHOST_ImeWin32.h
new file mode 100644
index 0000000..1435f5b
--- /dev/null
+++ b/intern/ghost/GHOST_ImeWin32.h
@@ -0,0 +1,401 @@
+/*
+ * ***** BEGIN GPL LICENSE BLOCK *****
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License
+ * as published by the Free Software Foundation; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+ *
+ * The Original Code is Copyright (c) 2010 The Chromium Authors. All rights reserved.
+ * All rights reserved.
+ *
+ * The Original Code is: some of this file.
+ *
+ * Contributor(s): none yet.
+ *
+ * ***** END GPL LICENSE BLOCK *****
+*/
+
+/** \file ghost/intern/GHOST_ImeWin32.h
+ *  \ingroup GHOST
+ */
+
+#ifndef __GHOST_IME_H__
+#define __GHOST_IME_H__
+
+#include <windows.h>
+
+#include <string>
+
+#include "GHOST_Event.h"
+#include "GHOST_Rect.h"
+#include <vector>
+
+class GHOST_EventIME : public GHOST_Event
+{
+public:
+    /**
+     * Constructor.
+     * \param msec	The time this event was generated.
+     * \param type	The type of key event.
+     * \param key	The key code of the key.
+     */
+    GHOST_EventIME(GHOST_TUns64 msec,
+                   GHOST_TEventType type,
+                   GHOST_IWindow *window, void *customdata)
+                   : GHOST_Event(msec, type, window)
+    {
+        this->m_data = customdata;
+    }
+
+};
+
+
+/**
+ * This header file defines a struct and a class used for encapsulating IMM32
+ * APIs, controls IMEs attached to a window, and enables the 'on-the-spot'
+ * input without deep knowledge about the APIs, i.e. knowledge about the
+ * language-

@@ Diff output truncated at 10240 characters. @@




More information about the Bf-blender-cvs mailing list