Nux

Merge lp:~unity-team/nux/nux-reset-projection-matrix into lp:nux/2.0

Proposed by Jay Taoko
Status: Merged
Approved by: Jay Taoko
Approved revision: 540
Merged at revision: 540
Proposed branch: lp:~unity-team/nux/nux-reset-projection-matrix
Merge into: lp:nux/2.0
Diff against target: 688 lines (+104/-76)
4 files modified
Nux/WindowCompositor.cpp (+31/-31)
Nux/WindowCompositor.h (+50/-44)
NuxGraphics/RenderingPipeGLSL.cpp (+22/-0)
configure.ac (+1/-1)
To merge this branch: bzr merge lp:~unity-team/nux/nux-reset-projection-matrix
Reviewer Review Type Date Requested Status
Mirco Müller (community) Approve
Review via email: mp+88615@code.launchpad.net

Description of the change

* Reset projection matrix when restoring framebuffer.

To post a comment you must log in.
536. By Andrea Azzarone

This branch is a partial fix for the bug #893670. It requires also:
- https://code.launchpad.net/~andyrock/compiz-core/scale-left-padding/+merge/88622
- https://code.launchpad.net/~andyrock/unity/scale-left-padding/+merge/88625

But you can test it setting the spacing option in the scale ccsm panel to 100.. Fixes: https://bugs.launchpad.net/bugs/893670. Appoved by Mirco Müller.

537. By Andrea Azzarone

Add support for the _COMPIZ_NET_OVERLAY_STRUTS property.. Fixes: . Appoved by Sam Spilsbury.

538. By Andrea Azzarone

Changes the cursor when the mouse pointer is over the text entry area.. Fixes: https://bugs.launchpad.net/bugs/737719, https://bugs.launchpad.net/bugs/849175. Appoved by Jay Taoko.

Revision history for this message
Mirco Müller (macslow) wrote :

Looking good.

review: Approve
539. By Jay Taoko

* Updated ABI version

540. By Jay Taoko

* Merged with Nux trunk

Preview Diff

[H/L] Next/Prev Comment, [J/K] Next/Prev File, [N/P] Next/Prev Hunk
1=== modified file 'Nux/WindowCompositor.cpp'
2--- Nux/WindowCompositor.cpp 2012-01-06 18:43:37 +0000
3+++ Nux/WindowCompositor.cpp 2012-01-20 19:36:24 +0000
4@@ -39,7 +39,7 @@
5 logging::Logger logger("nux.window");
6 }
7
8- WindowCompositor::WindowCompositor(WindowThread *window_thread)
9+ WindowCompositor::WindowCompositor(WindowThread* window_thread)
10 : window_thread_(window_thread)
11 , reference_fbo_(0)
12 {
13@@ -123,10 +123,10 @@
14 return m_SelectedWindow.GetPointer();
15 }
16
17- WindowCompositor::RenderTargetTextures &WindowCompositor::GetWindowBuffer(BaseWindow *window)
18+ WindowCompositor::RenderTargetTextures& WindowCompositor::GetWindowBuffer(BaseWindow* window)
19 {
20 static RenderTargetTextures invalid;
21- std::map< BaseWindow*, RenderTargetTextures >::iterator it = _window_to_texture_map.find(window);
22+ std::map< BaseWindow*, RenderTargetTextures>::iterator it = _window_to_texture_map.find(window);
23
24 if (it != _window_to_texture_map.end())
25 {
26@@ -136,7 +136,7 @@
27 return invalid;
28 }
29
30- void WindowCompositor::RegisterWindow(BaseWindow *window)
31+ void WindowCompositor::RegisterWindow(BaseWindow* window)
32 {
33 LOG_DEBUG_BLOCK(logger);
34 if (!window)
35@@ -222,7 +222,7 @@
36 {
37 if ((*window_it).IsValid() && (*window_it)->IsVisible())
38 {
39- InputArea *area = static_cast<InputArea*>((*window_it)->FindAreaUnderMouse(mouse_position, event_type));
40+ InputArea* area = static_cast<InputArea*>((*window_it)->FindAreaUnderMouse(mouse_position, event_type));
41 if (area)
42 {
43 *area_under_mouse_pointer = area;
44@@ -307,12 +307,12 @@
45 }
46 }
47
48- void WindowCompositor::DndEventCycle(Event &event)
49+ void WindowCompositor::DndEventCycle(Event& event)
50 {
51 if (event.type == NUX_DND_MOVE)
52 {
53- InputArea *hit_area = NULL;
54- BaseWindow *hit_base_window = NULL;
55+ InputArea* hit_area = NULL;
56+ BaseWindow* hit_base_window = NULL;
57
58 GetAreaUnderMouse(Point(event.x, event.y), event.type, &hit_area, &hit_base_window);
59
60@@ -336,13 +336,13 @@
61 }
62 else if (event.type == NUX_DND_DROP)
63 {
64- InputArea *current_dnd_area = GetDnDArea();
65+ InputArea* current_dnd_area = GetDnDArea();
66 if (current_dnd_area->GetGeometry().IsPointInside(event.x - event.x_root, event.y - event.y_root))
67 current_dnd_area->HandleDndDrop(event);
68 }
69 }
70
71- void WindowCompositor::MouseEventCycle(Event &event)
72+ void WindowCompositor::MouseEventCycle(Event& event)
73 {
74 // mouse_owner_area_: the view that has the mouse down
75 // mouse_over_area_: the view that is directly below the mouse pointer
76@@ -370,7 +370,7 @@
77 BaseWindow* hit_base_window = NULL; // The BaseWindow below the mouse pointer.
78
79 // Look for the area below the mouse pointer in the BaseWindow.
80- Area *pointer_grab_area = GetPointerGrabArea();
81+ Area* pointer_grab_area = GetPointerGrabArea();
82 if (pointer_grab_area)
83 {
84 // If there is a pending mouse pointer grab, test that area only
85@@ -890,7 +890,7 @@
86 }
87 }
88
89- void WindowCompositor::KeyboardEventCycle(Event &event)
90+ void WindowCompositor::KeyboardEventCycle(Event& event)
91 {
92 InputArea* keyboard_event_grab_view = GetKeyboardGrabArea();
93
94@@ -1022,7 +1022,7 @@
95 }
96
97 // NUXTODO: rename as EventCycle
98- void WindowCompositor::ProcessEvent(Event &event)
99+ void WindowCompositor::ProcessEvent(Event& event)
100 {
101 inside_event_cycle_ = true;
102 if (_enable_nux_new_event_architecture)
103@@ -1085,7 +1085,7 @@
104 }
105
106 //! Push a floating view at the top of the stack.
107- void WindowCompositor::PushToFront(BaseWindow *window)
108+ void WindowCompositor::PushToFront(BaseWindow* window)
109 {
110 if (window == 0)
111 return;
112@@ -1102,7 +1102,7 @@
113 }
114
115 //! Push a floating view at the bottom of the stack.
116- void WindowCompositor::PushToBack(BaseWindow *window)
117+ void WindowCompositor::PushToBack(BaseWindow* window)
118 {
119 if (window == 0)
120 return;
121@@ -1122,7 +1122,7 @@
122 }
123
124 //! Push a floating view just above another floating view.
125- void WindowCompositor::PushHigher(BaseWindow *top_floating_view, BaseWindow *bottom_floating_view, bool strict)
126+ void WindowCompositor::PushHigher(BaseWindow* top_floating_view, BaseWindow* bottom_floating_view, bool strict)
127 {
128 NUX_RETURN_IF_NULL(bottom_floating_view);
129 NUX_RETURN_IF_NULL(top_floating_view);
130@@ -1168,7 +1168,7 @@
131 EnsureAlwaysOnFrontWindow();
132 }
133
134- void WindowCompositor::SetAlwaysOnFrontWindow(BaseWindow *window)
135+ void WindowCompositor::SetAlwaysOnFrontWindow(BaseWindow* window)
136 {
137 _always_on_front_window = ObjectWeakPtr<BaseWindow> (window);
138
139@@ -1194,7 +1194,7 @@
140 }
141 }
142
143- InputArea *WindowCompositor::GetExclusiveInputArea()
144+ InputArea* WindowCompositor::GetExclusiveInputArea()
145 {
146 return _exclusive_input_area;
147 }
148@@ -1293,7 +1293,7 @@
149 window_thread_->GetGraphicsEngine().EmptyClippingRegion();
150 }
151
152- std::list<MenuPage *>::reverse_iterator rev_it_menu;
153+ std::list<MenuPage*>::reverse_iterator rev_it_menu;
154
155 for (rev_it_menu = _menu_chain->rbegin(); rev_it_menu != _menu_chain->rend( ); rev_it_menu++)
156 {
157@@ -1358,7 +1358,7 @@
158 //GetGraphicsDisplay()->GetGraphicsEngine()->SetContext(0, 0, buffer_width, buffer_height);
159 }
160
161- void WindowCompositor::RenderTopViewContent(BaseWindow *window, bool force_draw)
162+ void WindowCompositor::RenderTopViewContent(BaseWindow* window, bool force_draw)
163 {
164 GetPainter().EmptyBackgroundStack();
165 SetProcessingTopView(window);
166@@ -1632,7 +1632,7 @@
167 }
168 }
169
170- void WindowCompositor::AddMenu(MenuPage *menu, BaseWindow *window, bool OverrideCurrentMenuChain)
171+ void WindowCompositor::AddMenu(MenuPage* menu, BaseWindow* window, bool OverrideCurrentMenuChain)
172 {
173 if (_menu_chain->size() == 0)
174 {
175@@ -1675,9 +1675,9 @@
176 }
177
178 // Be careful never call this function while you are iterating through the elements of _menu_chain.
179- void WindowCompositor::RemoveMenu(MenuPage *menu)
180+ void WindowCompositor::RemoveMenu(MenuPage* menu)
181 {
182- std::list<MenuPage *>::iterator it = find(_menu_chain->begin(), _menu_chain->end(), menu);
183+ std::list<MenuPage*>::iterator it = find(_menu_chain->begin(), _menu_chain->end(), menu);
184
185 if (it == _menu_chain->end())
186 {
187@@ -1701,7 +1701,7 @@
188 if (_menu_chain->size() == 0)
189 return;
190
191- std::list<MenuPage *>::iterator menu_it = _menu_chain->begin();
192+ std::list<MenuPage*>::iterator menu_it = _menu_chain->begin();
193
194 while (menu_it != _menu_chain->end())
195 {
196@@ -1724,18 +1724,18 @@
197 }
198 }
199
200- void WindowCompositor::SetWidgetDrawingOverlay(InputArea *ic, BaseWindow* OverlayWindow)
201+ void WindowCompositor::SetWidgetDrawingOverlay(InputArea* ic, BaseWindow* OverlayWindow)
202 {
203 OverlayDrawingCommand = ic;
204 m_OverlayWindow = OverlayWindow;
205 }
206
207- InputArea *WindowCompositor::GetWidgetDrawingOverlay()
208+ InputArea* WindowCompositor::GetWidgetDrawingOverlay()
209 {
210 return OverlayDrawingCommand;
211 }
212
213- void WindowCompositor::SetTooltip(InputArea* TooltipArea, const char *TooltipText, int x, int y)
214+ void WindowCompositor::SetTooltip(InputArea* TooltipArea, const char* TooltipText, int x, int y)
215 {
216 _tooltip_window = GetProcessingTopView();
217 m_TooltipArea = TooltipArea;
218@@ -1816,7 +1816,7 @@
219 }
220 }
221
222- void WindowCompositor::SetKeyFocusArea(InputArea *area)
223+ void WindowCompositor::SetKeyFocusArea(InputArea* area)
224 {
225 InputArea* keyboard_grab_area = GetKeyboardGrabArea();
226
227@@ -1898,7 +1898,7 @@
228 return key_focus_area_;
229 }
230
231- void WindowCompositor::SetBackgroundPaintLayer(AbstractPaintLayer *bkg)
232+ void WindowCompositor::SetBackgroundPaintLayer(AbstractPaintLayer* bkg)
233 {
234 NUX_SAFE_DELETE(m_Background);
235 m_Background = bkg->Clone();
236@@ -1954,7 +1954,7 @@
237
238 void WindowCompositor::RestoreRenderingSurface()
239 {
240- BaseWindow *top_view = GetProcessingTopView();
241+ BaseWindow* top_view = GetProcessingTopView();
242
243 if (top_view && inside_rendering_cycle_)
244 {
245@@ -2004,7 +2004,7 @@
246 }
247 }
248
249- void* WindowCompositor::GetBackupTextureData(BaseWindow *base_window, int &width, int &height, int &format)
250+ void* WindowCompositor::GetBackupTextureData(BaseWindow* base_window, int& width, int& height, int& format)
251 {
252 width = height = format = 0;
253
254
255=== modified file 'Nux/WindowCompositor.h'
256--- Nux/WindowCompositor.h 2012-01-05 04:00:19 +0000
257+++ Nux/WindowCompositor.h 2012-01-20 19:36:24 +0000
258@@ -47,7 +47,7 @@
259 public:
260 typedef ObjectWeakPtr<BaseWindow> WeakBaseWindowPtr;
261
262- WindowCompositor(WindowThread *window_thread);
263+ WindowCompositor(WindowThread* window_thread);
264 ~WindowCompositor();
265
266 //! Get the Geometry of the tooltip based on the BaseWindow that initiated it.
267@@ -61,11 +61,11 @@
268 // bool MouseMove(Point pt);
269 // bool MouseUp(Point pt);
270
271- void ProcessEvent(Event &event);
272+ void ProcessEvent(Event& event);
273
274 //====================================
275- void MouseEventCycle(Event &event);
276- void DndEventCycle(Event &event);
277+ void MouseEventCycle(Event& event);
278+ void DndEventCycle(Event& event);
279 bool _enable_nux_new_event_architecture;
280
281
282@@ -75,9 +75,9 @@
283 //! Get Mouse position relative to the top left corner of the window.
284 Point GetMousePosition();
285
286- void KeyboardEventCycle(Event &event);
287+ void KeyboardEventCycle(Event& event);
288
289- void MenuEventCycle(Event &event);
290+ void MenuEventCycle(Event& event);
291 MenuPage* _mouse_owner_menu_page;
292 MenuPage* _mouse_over_menu_page;
293 bool _starting_menu_event_cycle;
294@@ -196,23 +196,22 @@
295 {
296 return m_FrameBufferObject;
297 }
298+
299 ObjectPtr<IOpenGLFrameBufferObject> m_FrameBufferObject;
300
301- ObjectPtr<IOpenGLBaseTexture> GetScreenBlurTexture();
302-
303 void StartModalWindow(ObjectWeakPtr<BaseWindow>);
304 void StopModalWindow(ObjectWeakPtr<BaseWindow>);
305
306- void AddMenu(MenuPage* menu, BaseWindow *window, bool OverrideCurrentMenuChain = true);
307+ void AddMenu(MenuPage* menu, BaseWindow* window, bool OverrideCurrentMenuChain = true);
308 void RemoveMenu(MenuPage* menu);
309 void CleanMenu();
310
311 void PushModalWindow(ObjectWeakPtr<BaseWindow> window);
312
313- void SetWidgetDrawingOverlay(InputArea *ic, BaseWindow *OverlayWindow);
314- InputArea *GetWidgetDrawingOverlay();
315+ void SetWidgetDrawingOverlay(InputArea* ic, BaseWindow* OverlayWindow);
316+ InputArea* GetWidgetDrawingOverlay();
317
318- void SetTooltip(InputArea *TooltipArea, const char *TooltipText, int x, int y);
319+ void SetTooltip(InputArea* TooltipArea, const char* TooltipText, int x, int y);
320 /*!
321 Return true if the mouse is still inside the area that initiated the tooltip;
322
323@@ -234,13 +233,13 @@
324 _event_root = Point(x, y);
325 }
326
327- void SetBackgroundPaintLayer(AbstractPaintLayer *bkg);
328+ void SetBackgroundPaintLayer(AbstractPaintLayer* bkg);
329
330 /*!
331 A special BaseWindow that is always on top of all other BaseWindow. It is even above the BaseWindow that is selected.
332 \sa m_SelectedWindow, \sa GetSelectedWindow.
333 */
334- void SetAlwaysOnFrontWindow(BaseWindow *window);
335+ void SetAlwaysOnFrontWindow(BaseWindow* window);
336
337
338 //! Enable the exclusive event input mode.
339@@ -253,7 +252,7 @@
340 \sa DisableExclusiveInputArea.
341 @return True, if the exclusive input mode was enabled.
342 */
343- bool EnableExclusiveInputArea(InputArea *input_area);
344+ bool EnableExclusiveInputArea(InputArea* input_area);
345
346 //! Disable the exclusive event input mode.
347 /*!
348@@ -261,7 +260,7 @@
349 \sa EnableExclusiveInputArea.
350 @return True, if the exclusive input mode was disabled.
351 */
352- bool DisableExclusiveInputArea(InputArea *input_area);
353+ bool DisableExclusiveInputArea(InputArea* input_area);
354
355 //! Return true if the system is in exclusive input event mode.
356 /*!
357@@ -276,7 +275,7 @@
358 void RestoreRenderingSurface();
359
360 //! Get the backup texture data of this BaseWindow,
361- void* GetBackupTextureData(BaseWindow *base_window, int &width, int &height, int &format);
362+ void* GetBackupTextureData(BaseWindow* base_window, int& width, int& height, int& format);
363
364 //! Reset the DND focus area
365 /*!
366@@ -356,6 +355,23 @@
367 //! Returns the area at the top of the keyboard grab stack.
368 InputArea* GetKeyboardGrabArea();
369
370+ // We use Rectangle texture to attach to the frame-buffer because some GPU like the Geforce FX 5600 do not
371+ // have support for ARB_texture_non_power_of_two. However it does support ARB_texture_recatangle.
372+ struct RenderTargetTextures
373+ {
374+ ObjectPtr<IOpenGLBaseTexture> color_rt;
375+ ObjectPtr<IOpenGLBaseTexture> depth_rt;
376+ };
377+
378+ //! Return the RenderTargetTextures structure of a BaseWindow.
379+ /*!
380+ Return the color and depth texture of a BaseWindow.
381+
382+ @param window The BaseWindow.
383+ @return A structure that contains the color and depth texture of a BaseWindow.
384+ */
385+ RenderTargetTextures& GetWindowBuffer(BaseWindow* window);
386+
387 private:
388 //! Render the interface.
389 void Draw(bool SizeConfigurationEvent, bool force_draw);
390@@ -374,7 +390,7 @@
391 void RenderTopViews(bool force_draw, std::list< ObjectWeakPtr<BaseWindow> >& WindowList, bool draw_modal);
392
393 //! Render the content of a top view.
394- void RenderTopViewContent(BaseWindow *window, bool force_draw);
395+ void RenderTopViewContent(BaseWindow* window, bool force_draw);
396
397 void RenderMainWindowComposition(bool force_draw);
398
399@@ -402,21 +418,21 @@
400 @param strict If true and top_floating_view is already above bottom_floating_view, then bring top_floating_view lower
401 so that it is strictly above bottom_floating_view.
402 */
403- void PushHigher(BaseWindow *top_floating_view, BaseWindow *bottom_floating_view, bool strict = false);
404+ void PushHigher(BaseWindow* top_floating_view, BaseWindow* bottom_floating_view, bool strict = false);
405 //! Push a floating view at the top of the stack.
406- void PushToFront(BaseWindow *bottom_floating_view);
407+ void PushToFront(BaseWindow* bottom_floating_view);
408 //! Push a floating view at the bottom of the stack.
409- void PushToBack(BaseWindow *bottom_floating_view);
410+ void PushToBack(BaseWindow* bottom_floating_view);
411
412 /*!
413 Returns the BaseWindow that is at the top of the BaseWindow stack, excluding the BaseWindow that is
414 chosen to be always on to.
415 \sa m_SelectedWindow. \sa SetAlwaysOnFrontWindow
416 */
417- BaseWindow *GetSelectedWindow();
418+ BaseWindow* GetSelectedWindow();
419
420
421- BaseWindow *GetFocusAreaWindow()
422+ BaseWindow* GetFocusAreaWindow()
423 {
424 return m_FocusAreaWindow.GetPointer();
425 }
426@@ -433,12 +449,12 @@
427
428 private:
429
430- void SetFocusAreaWindow(BaseWindow *window)
431+ void SetFocusAreaWindow(BaseWindow* window)
432 {
433 m_FocusAreaWindow = window;
434 }
435
436- void SetCurrentEvent(Event *event)
437+ void SetCurrentEvent(Event* event)
438 {
439 m_CurrentEvent = event;
440 }
441@@ -461,19 +477,9 @@
442 // UnRegister is called via the object destroyed event, hence the Object*.
443 void UnRegisterWindow(Object*);
444
445- // We use Rectangle texture to attach to the frame-buffer because some GPU like the Geforce FX 5600 do not
446- // have support for ARB_texture_non_power_of_two. However it does support ARB_texture_recatangle.
447- struct RenderTargetTextures
448- {
449- ObjectPtr<IOpenGLBaseTexture> color_rt;
450- ObjectPtr<IOpenGLBaseTexture> depth_rt;
451- };
452 ObjectPtr<IOpenGLBaseTexture> m_MainColorRT;
453 ObjectPtr<IOpenGLBaseTexture> m_MainDepthRT;
454
455- //! Return the RenderTargetTextures structure of a ViewWindow.
456- RenderTargetTextures &GetWindowBuffer(BaseWindow* window);
457-
458 WeakBaseWindowPtr m_CurrentWindow; //!< BaseWindow where event processing or rendering is happening.
459 WeakBaseWindowPtr m_FocusAreaWindow; //!< The BaseWindow that contains the _mouse_focus_area.
460 WeakBaseWindowPtr m_MenuWindow; //!< The BaseWindow that owns the menu being displayed;
461@@ -498,7 +504,7 @@
462 /*!
463 @return The input area that has the exclusivity on all events.
464 */
465- InputArea *GetExclusiveInputArea();
466+ InputArea* GetExclusiveInputArea();
467
468 /*!
469 The exclusive input area gets all events without exception(greedy). The exclusive input area may decide to pass events
470@@ -542,14 +548,14 @@
471 Point _event_root;
472
473 bool on_menu_closure_continue_with_event_;
474- AbstractPaintLayer *m_Background;
475+ AbstractPaintLayer* m_Background;
476
477 typedef std::list<WeakBaseWindowPtr> WindowList;
478 WindowList _view_window_list;
479 WindowList _modal_view_window_list;
480 WeakBaseWindowPtr _always_on_front_window; //!< Floating view that always remains on top.
481
482- std::list<MenuPage* > *_menu_chain;
483+ std::list<MenuPage* >* _menu_chain;
484
485 /*!
486 The BaseWindow where the last mouse down event happened.
487@@ -558,7 +564,7 @@
488 */
489 WeakBaseWindowPtr m_SelectedWindow;
490
491- std::map<BaseWindow*, struct RenderTargetTextures > _window_to_texture_map;
492+ std::map<BaseWindow*, struct RenderTargetTextures> _window_to_texture_map;
493
494 WeakBaseWindowPtr m_ModalWindow;
495 Point m_MouseLastPos;
496@@ -574,7 +580,7 @@
497 int m_Height;
498
499 NString m_TooltipText;
500- InputArea *m_TooltipArea;
501+ InputArea* m_TooltipArea;
502 int m_TooltipX;
503 int m_TooltipY;
504
505@@ -599,7 +605,7 @@
506 std::list<InputArea*> keyboard_grab_stack_;
507
508 private:
509- WindowThread *window_thread_; //!< The WindowThread to which this object belongs.
510+ WindowThread* window_thread_; //!< The WindowThread to which this object belongs.
511
512 //! Perform some action before destruction.
513 /*!
514@@ -608,11 +614,11 @@
515 */
516 void BeforeDestructor();
517
518- WindowCompositor(const WindowCompositor &);
519+ WindowCompositor(const WindowCompositor&);
520 // Does not make sense for a singleton. This is a self assignment.
521- WindowCompositor &operator= (const WindowCompositor &);
522+ WindowCompositor& operator= (const WindowCompositor&);
523 // Declare operator address-of as private
524- WindowCompositor *operator &();
525+ WindowCompositor* operator & ();
526
527 friend class InputArea;
528 friend class WindowThread;
529
530=== modified file 'NuxGraphics/RenderingPipeGLSL.cpp'
531--- NuxGraphics/RenderingPipeGLSL.cpp 2011-10-19 20:32:38 +0000
532+++ NuxGraphics/RenderingPipeGLSL.cpp 2012-01-20 19:36:24 +0000
533@@ -2165,10 +2165,12 @@
534 {
535 prevFBO->Activate(true);
536 SetViewport(0, 0, previous_width, previous_height);
537+ SetOrthographicProjectionMatrix(previous_width, previous_height);
538 }
539 else
540 {
541 SetViewport(0, 0, previous_width, previous_height);
542+ SetOrthographicProjectionMatrix(previous_width, previous_height);
543 }
544
545 return _offscreen_color_rt0;
546@@ -2214,10 +2216,12 @@
547 {
548 prevFBO->Activate(true);
549 SetViewport(0, 0, previous_width, previous_height);
550+ SetOrthographicProjectionMatrix(previous_width, previous_height);
551 }
552 else
553 {
554 SetViewport(0, 0, previous_width, previous_height);
555+ SetOrthographicProjectionMatrix(previous_width, previous_height);
556 }
557
558 return _offscreen_color_rt1;
559@@ -2263,10 +2267,12 @@
560 {
561 prevFBO->Activate(true);
562 SetViewport(0, 0, previous_width, previous_height);
563+ SetOrthographicProjectionMatrix(previous_width, previous_height);
564 }
565 else
566 {
567 SetViewport(0, 0, previous_width, previous_height);
568+ SetOrthographicProjectionMatrix(previous_width, previous_height);
569 }
570
571 return _offscreen_color_rt1;
572@@ -2313,10 +2319,12 @@
573 {
574 prevFBO->Activate(true);
575 SetViewport(0, 0, previous_width, previous_height);
576+ SetOrthographicProjectionMatrix(previous_width, previous_height);
577 }
578 else
579 {
580 SetViewport(0, 0, previous_width, previous_height);
581+ SetOrthographicProjectionMatrix(previous_width, previous_height);
582 }
583
584 return _offscreen_color_rt1;
585@@ -2383,10 +2391,12 @@
586 {
587 prevFBO->Activate(true);
588 SetViewport(0, 0, previous_width, previous_height);
589+ SetOrthographicProjectionMatrix(previous_width, previous_height);
590 }
591 else
592 {
593 SetViewport(0, 0, previous_width, previous_height);
594+ SetOrthographicProjectionMatrix(previous_width, previous_height);
595 }
596 return _offscreen_color_rt3;
597 }
598@@ -2447,10 +2457,12 @@
599 {
600 prevFBO->Activate(true);
601 SetViewport(0, 0, previous_width, previous_height);
602+ SetOrthographicProjectionMatrix(previous_width, previous_height);
603 }
604 else
605 {
606 SetViewport(0, 0, previous_width, previous_height);
607+ SetOrthographicProjectionMatrix(previous_width, previous_height);
608 }
609
610 return _offscreen_color_rt0;
611@@ -2512,10 +2524,12 @@
612 {
613 prevFBO->Activate(true);
614 SetViewport(0, 0, previous_width, previous_height);
615+ SetOrthographicProjectionMatrix(previous_width, previous_height);
616 }
617 else
618 {
619 SetViewport(0, 0, previous_width, previous_height);
620+ SetOrthographicProjectionMatrix(previous_width, previous_height);
621 }
622 }
623
624@@ -2552,10 +2566,12 @@
625 {
626 prevFBO->Activate(true);
627 SetViewport(0, 0, previous_width, previous_height);
628+ SetOrthographicProjectionMatrix(previous_width, previous_height);
629 }
630 else
631 {
632 SetViewport(0, 0, previous_width, previous_height);
633+ SetOrthographicProjectionMatrix(previous_width, previous_height);
634 }
635
636 return _offscreen_color_rt0;
637@@ -2594,10 +2610,12 @@
638 {
639 prevFBO->Activate(true);
640 SetViewport(0, 0, previous_width, previous_height);
641+ SetOrthographicProjectionMatrix(previous_width, previous_height);
642 }
643 else
644 {
645 SetViewport(0, 0, previous_width, previous_height);
646+ SetOrthographicProjectionMatrix(previous_width, previous_height);
647 }
648 }
649
650@@ -2754,10 +2772,12 @@
651 {
652 prevFBO->Activate(true);
653 SetViewport(0, 0, previous_width, previous_height);
654+ SetOrthographicProjectionMatrix(previous_width, previous_height);
655 }
656 else
657 {
658 SetViewport(0, 0, previous_width, previous_height);
659+ SetOrthographicProjectionMatrix(previous_width, previous_height);
660 }
661 return _offscreen_color_rt0;
662 }
663@@ -2809,10 +2829,12 @@
664 {
665 prevFBO->Activate(true);
666 SetViewport(0, 0, previous_width, previous_height);
667+ SetOrthographicProjectionMatrix(previous_width, previous_height);
668 }
669 else
670 {
671 SetViewport(0, 0, previous_width, previous_height);
672+ SetOrthographicProjectionMatrix(previous_width, previous_height);
673 }
674 }
675
676
677=== modified file 'configure.ac'
678--- configure.ac 2012-01-19 19:39:56 +0000
679+++ configure.ac 2012-01-20 19:36:24 +0000
680@@ -22,7 +22,7 @@
681 # The number format is : year/month/day
682 # e.g.: december 5th, 2011 is: 20111205
683 # So far there is no provision for more than one break in a day.
684-m4_define([nux_abi_version], [20120119.01])
685+m4_define([nux_abi_version], [20120120.01])
686
687 m4_define([nux_version],
688 [nux_major_version.nux_minor_version.nux_micro_version])

Subscribers

People subscribed via source and target branches

to all changes: