~ubuntu-branches/ubuntu/oneiric/nux/oneiric

« back to all changes in this revision

Viewing changes to Nux/WindowCompositor.h

  • Committer: Bazaar Package Importer
  • Author(s): Sebastien Bacher
  • Date: 2010-12-17 13:59:57 UTC
  • mto: This revision was merged to the branch mainline in revision 8.
  • Revision ID: james.westby@ubuntu.com-20101217135957-5gvg6fkjxaa252i0
Tags: upstream-0.9.12
ImportĀ upstreamĀ versionĀ 0.9.12

Show diffs side-by-side

added added

removed removed

Lines of Context:
141
141
    */
142
142
    bool InExclusiveInputMode ();
143
143
 
 
144
    //! Set the rendering surface for the current rendering.
 
145
    /*!
 
146
        This function is used to restore the rendering surface according to the system state. This is necessary after using a custom frame buffer object.
 
147
    */
 
148
    void RestoreRenderingSurface ();
 
149
 
144
150
  private:
145
151
    //! Render the interface.
146
152
    void Draw (bool SizeConfigurationEvent, bool force_draw);
149
155
    void DrawMenu (bool force_draw);
150
156
    void DrawOverlay (bool force_draw);
151
157
    void DrawTooltip (bool force_draw);
152
 
    void DrawFloatingWindows (bool force_draw, std::list< IntrusiveWeakSP<BaseWindow> >& WindowList, bool drawModal, bool UseFBO);
 
158
 
 
159
    //! Render all top views.
 
160
    /*!
 
161
        @force_draw True if the entire surface of the backup rendering mush flushed.
 
162
        @WindowList The list of top views.
 
163
        @draw_modal True if the top view that is modal is to be rendered.
 
164
        @use_fbo True if TopViews should be backed by an fbo.
 
165
    */
 
166
    void RenderTopViews (bool force_draw, std::list< IntrusiveWeakSP<BaseWindow> >& WindowList, bool draw_modal, bool use_fbo);
 
167
 
 
168
    //! Render the content of a top view.
 
169
    void RenderTopViewContent (BaseWindow *window, bool force_draw);
153
170
 
154
171
    void RenderMainWindowComposition (bool force_draw, bool UseFBO);
155
 
    void RenderWindowComposition (BaseWindow *window, bool force_draw);
 
172
 
156
173
 
157
174
 
158
175
    /*!
212
229
    */
213
230
    BaseWindow *GetSelectedWindow();
214
231
 
215
 
    BaseWindow *GetCurrentWindow()
216
 
    {
217
 
      return m_CurrentWindow.GetPointer ();
218
 
    }
219
232
    
220
233
    BaseWindow *GetFocusAreaWindow()
221
234
    {
222
235
      return m_FocusAreaWindow.GetPointer ();
223
236
    }
224
237
 
225
 
    void SetCurrentWindow (BaseWindow* window)
 
238
    //! Set the top view that is about to be processed (event or rendering).
 
239
    /*!
 
240
        Before event processing or rendering, this should be called to set the TopView that is about 
 
241
        to be processed. This function is used internally by the system.
 
242
    */
 
243
    void SetProcessingTopView (BaseWindow* window)
226
244
    {
227
245
      m_CurrentWindow = window;
228
246
    }
229
247
 
 
248
    //! Get the top view that is being processed (event or rendering).
 
249
    /*!
 
250
        Get the active TopView during and event processing or rendering.
 
251
    */
 
252
    BaseWindow *GetProcessingTopView()
 
253
    {
 
254
      return m_CurrentWindow.GetPointer ();
 
255
    }
 
256
 
230
257
    void SetFocusAreaWindow (BaseWindow *window)
231
258
    {
232
259
      m_FocusAreaWindow = window;
233
260
    }
 
261
 
234
262
    void SetCurrentEvent (IEvent *event)
235
263
    {
236
264
      m_CurrentEvent = event;
271
299
    IntrusiveSP<IOpenGLBaseTexture> m_MainDepthRT;
272
300
    IntrusiveSP<IOpenGLBaseTexture> m_CompositionRT;
273
301
 
 
302
    //! Return the RenderTargetTextures structure of a TopView.
274
303
    RenderTargetTextures &GetWindowBuffer (BaseWindow* window);
275
304
 
276
305
    IntrusiveWeakSP<BaseWindow> m_CurrentWindow;    //!< BaseWindow where event processing or rendering is happening.
332
361
    //! True while events are being processed inside ProcessEvent ().
333
362
    bool _inside_event_processing;
334
363
 
 
364
    //! True while rendering is being done.
 
365
    bool _inside_rendering_cycle;
 
366
 
335
367
    InputArea* OverlayDrawingCommand;
336
368
    IntrusiveWeakSP<BaseWindow> m_OverlayWindow;            //!< The window that owns the overlay;
337
369
    IntrusiveWeakSP<BaseWindow> _tooltip_window;            //!< The window that owns the tooltip;