~haggai-eran/nux/rtl

« back to all changes in this revision

Viewing changes to Nux/WindowThread.cpp

  • Committer: Haggai Eran
  • Date: 2011-10-15 21:01:00 UTC
  • mfrom: (413.1.84 nux)
  • Revision ID: haggai.eran@gmail.com-20111015210100-4amf0pdxuzkynotw
Merged trunk.

Show diffs side-by-side

added added

removed removed

Lines of Context:
22
22
 
23
23
#include "Nux.h"
24
24
#include "Layout.h"
 
25
#include "NuxCore/Logger.h"
25
26
#include "NuxGraphics/GraphicsEngine.h"
26
27
#include "ClientArea.h"
27
28
#include "WindowCompositor.h"
33
34
 
34
35
namespace nux
35
36
{
36
 
  
 
37
namespace
 
38
{
 
39
logging::Logger logger("nux.windows.thread");
 
40
}
 
41
 
37
42
    TimerFunctor *m_ScrollTimerFunctor;
38
43
    TimerHandle m_ScrollTimerHandler;  
39
44
 
351
356
    {
352
357
      if((m_GLibContext == 0) || (m_GLibLoop == 0))
353
358
      {
354
 
          nuxDebugMsg(TEXT("[WindowThread::AddGLibTimeout] WARNING: Trying to set a timeout before GLib Context is created."));
355
 
          return 0;
 
359
        LOG_WARNING(logger) << "Trying to set a timeout before GLib Context is created.\n"
 
360
                            << logging::backtrace();
 
361
        return 0;
356
362
      }
357
363
 
358
364
      GSource *timeout_source;
1451
1457
    m_Painter = new BasePainter();
1452
1458
    m_TimerHandler = new TimerHandler();
1453
1459
    m_window_compositor = new WindowCompositor;
1454
 
    m_Theme = new UXTheme();
1455
1460
 
1456
1461
    SetThreadState (THREADRUNNING);
1457
1462
    m_ThreadCtorCalled = true;
1504
1509
    m_Painter = new BasePainter();
1505
1510
    m_TimerHandler = new TimerHandler();
1506
1511
    m_window_compositor = new WindowCompositor;
1507
 
    m_Theme = new UXTheme();
1508
1512
 
1509
1513
    SetThreadState (THREADRUNNING);
1510
1514
    m_ThreadCtorCalled = true;
1561
1565
    m_Painter = new BasePainter();
1562
1566
    m_TimerHandler = new TimerHandler();
1563
1567
    m_window_compositor = new WindowCompositor;
1564
 
    m_Theme = new UXTheme();
1565
1568
 
1566
1569
    SetThreadState (THREADRUNNING);
1567
1570
    m_ThreadCtorCalled = true;
1835
1838
 
1836
1839
    if (!IsEmbeddedWindow() )
1837
1840
      return;
 
1841
    
 
1842
    IOpenGLShaderProgram::SetShaderTracking(true);
1838
1843
 
1839
1844
    // Set Nux opengl states. The other plugin in compiz have changed the GPU opengl states.
1840
1845
    // Nux keep tracks of its own opengl states and restore them before doing any drawing.
1867
1872
    CHECKGL ( glColorMask (GL_TRUE, GL_TRUE, GL_TRUE, GL_TRUE) );
1868
1873
 
1869
1874
    GetGraphicsDisplay()->GetGpuDevice()->DeactivateFrameBuffer();
 
1875
    IOpenGLShaderProgram::SetShaderTracking(false);
1870
1876
  }
1871
1877
 
1872
1878
  int WindowThread::InstallEventInspector (EventInspector function, void* data)
1957
1963
 
1958
1964
    return discard_event;
1959
1965
  }
 
1966
 
 
1967
 
 
1968
UXTheme& WindowThread::GetTheme() const
 
1969
{
 
1970
  if (!m_Theme)
 
1971
  {
 
1972
    LOG_INFO(logger) << "Lazily creating nux::UXTheme";
 
1973
    const_cast<WindowThread*>(this)->m_Theme = new UXTheme();
 
1974
  }
 
1975
  return *m_Theme;
 
1976
}
 
1977
 
1960
1978
}
1961
1979