fix some btgui issues on Mac OSX
This commit is contained in:
@@ -103,6 +103,7 @@ Base::~Base()
|
|||||||
|
|
||||||
extern int avoidUpdate;
|
extern int avoidUpdate;
|
||||||
|
|
||||||
|
|
||||||
void Base::Invalidate()
|
void Base::Invalidate()
|
||||||
{
|
{
|
||||||
|
|
||||||
|
|||||||
@@ -204,13 +204,13 @@ bool TreeControl::OnKeyDown( bool bDown )
|
|||||||
}
|
}
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
extern int avoidUpdate;
|
||||||
|
|
||||||
bool TreeControl::OnKeyRight( bool bDown )
|
bool TreeControl::OnKeyRight( bool bDown )
|
||||||
{
|
{
|
||||||
if (bDown)
|
if (bDown)
|
||||||
{
|
{
|
||||||
extern int avoidUpdate;
|
|
||||||
avoidUpdate = -3;
|
avoidUpdate = -3;
|
||||||
ForceUpdateScrollBars();
|
ForceUpdateScrollBars();
|
||||||
iterate(ITERATE_ACTION_OPEN,0,0);
|
iterate(ITERATE_ACTION_OPEN,0,0);
|
||||||
@@ -250,7 +250,7 @@ bool TreeControl::OnKeyLeft( bool bDown )
|
|||||||
{
|
{
|
||||||
if (bDown)
|
if (bDown)
|
||||||
{
|
{
|
||||||
extern int avoidUpdate;
|
|
||||||
avoidUpdate = -3;
|
avoidUpdate = -3;
|
||||||
|
|
||||||
ForceUpdateScrollBars();
|
ForceUpdateScrollBars();
|
||||||
|
|||||||
@@ -296,6 +296,8 @@ void keyCallback(int key, int value)
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
extern int avoidUpdate;
|
||||||
|
|
||||||
int main()
|
int main()
|
||||||
{
|
{
|
||||||
|
|
||||||
@@ -306,8 +308,9 @@ int main()
|
|||||||
b3gWindowConstructionInfo wci;
|
b3gWindowConstructionInfo wci;
|
||||||
wci.m_width = sWidth;
|
wci.m_width = sWidth;
|
||||||
wci.m_height = sHeight;
|
wci.m_height = sHeight;
|
||||||
|
wci.m_resizeCallback = MyResizeCallback;
|
||||||
window->createWindow(wci);
|
window->createWindow(wci);
|
||||||
|
|
||||||
window->setResizeCallback(MyResizeCallback);
|
window->setResizeCallback(MyResizeCallback);
|
||||||
window->setWindowTitle("render test");
|
window->setWindowTitle("render test");
|
||||||
#ifndef __APPLE__
|
#ifndef __APPLE__
|
||||||
@@ -456,7 +459,7 @@ int main()
|
|||||||
|
|
||||||
|
|
||||||
pCanvas->RenderCanvas();
|
pCanvas->RenderCanvas();
|
||||||
extern int avoidUpdate;
|
|
||||||
if (avoidUpdate<=0)
|
if (avoidUpdate<=0)
|
||||||
avoidUpdate++;
|
avoidUpdate++;
|
||||||
|
|
||||||
|
|||||||
@@ -91,6 +91,7 @@ float loop;
|
|||||||
|
|
||||||
// Get view dimensions in pixels
|
// Get view dimensions in pixels
|
||||||
// glViewport(0,0,10,10);
|
// glViewport(0,0,10,10);
|
||||||
|
|
||||||
if (m_resizeCallback)
|
if (m_resizeCallback)
|
||||||
{
|
{
|
||||||
(*m_resizeCallback)(width,height);
|
(*m_resizeCallback)(width,height);
|
||||||
@@ -329,6 +330,7 @@ void MacOpenGLWindow::createWindow(const b3gWindowConstructionInfo& ci)
|
|||||||
m_internalData->m_myview = [TestView alloc];
|
m_internalData->m_myview = [TestView alloc];
|
||||||
|
|
||||||
[m_internalData->m_myview setResizeCallback:0];
|
[m_internalData->m_myview setResizeCallback:0];
|
||||||
|
///ci.m_resizeCallback];
|
||||||
|
|
||||||
[m_internalData->m_myview initWithFrame: frame];
|
[m_internalData->m_myview initWithFrame: frame];
|
||||||
|
|
||||||
@@ -366,6 +368,8 @@ void MacOpenGLWindow::createWindow(const b3gWindowConstructionInfo& ci)
|
|||||||
[m_internalData->m_window makeKeyAndOrderFront: nil];
|
[m_internalData->m_window makeKeyAndOrderFront: nil];
|
||||||
|
|
||||||
[m_internalData->m_myview MakeCurrent];
|
[m_internalData->m_myview MakeCurrent];
|
||||||
|
m_internalData->m_width = m_internalData->m_myview.GetWindowWidth;
|
||||||
|
m_internalData->m_height = m_internalData->m_myview.GetWindowHeight;
|
||||||
|
|
||||||
glGenBuffers(n, vbo);
|
glGenBuffers(n, vbo);
|
||||||
checkError("glGenBuffers");
|
checkError("glGenBuffers");
|
||||||
@@ -589,32 +593,32 @@ int getAsciiCodeFromVirtualKeycode(int virtualKeyCode)
|
|||||||
switch (virtualKeyCode)
|
switch (virtualKeyCode)
|
||||||
{
|
{
|
||||||
|
|
||||||
case kVK_ANSI_A : {keycode = 'A'; break;}
|
case kVK_ANSI_A : {keycode = 'a'; break;}
|
||||||
case kVK_ANSI_B : {keycode = 'B'; break;}
|
case kVK_ANSI_B : {keycode = 'b'; break;}
|
||||||
case kVK_ANSI_C : {keycode = 'C'; break;}
|
case kVK_ANSI_C : {keycode = 'c'; break;}
|
||||||
case kVK_ANSI_D : {keycode = 'D';break;}
|
case kVK_ANSI_D : {keycode = 'd';break;}
|
||||||
case kVK_ANSI_E : {keycode = 'E'; break;}
|
case kVK_ANSI_E : {keycode = 'e'; break;}
|
||||||
case kVK_ANSI_F : {keycode = 'F'; break;}
|
case kVK_ANSI_F : {keycode = 'f'; break;}
|
||||||
case kVK_ANSI_G : {keycode = 'G'; break;}
|
case kVK_ANSI_G : {keycode = 'g'; break;}
|
||||||
case kVK_ANSI_H : {keycode = 'H'; break;}
|
case kVK_ANSI_H : {keycode = 'h'; break;}
|
||||||
case kVK_ANSI_I : {keycode = 'I'; break;}
|
case kVK_ANSI_I : {keycode = 'i'; break;}
|
||||||
case kVK_ANSI_J : {keycode = 'J'; break;}
|
case kVK_ANSI_J : {keycode = 'j'; break;}
|
||||||
case kVK_ANSI_K : {keycode = 'K'; break;}
|
case kVK_ANSI_K : {keycode = 'k'; break;}
|
||||||
case kVK_ANSI_L : {keycode = 'L'; break;}
|
case kVK_ANSI_L : {keycode = 'l'; break;}
|
||||||
case kVK_ANSI_M : {keycode = 'M'; break;}
|
case kVK_ANSI_M : {keycode = 'm'; break;}
|
||||||
case kVK_ANSI_N : {keycode = 'N'; break;}
|
case kVK_ANSI_N : {keycode = 'n'; break;}
|
||||||
case kVK_ANSI_O : {keycode = 'O'; break;}
|
case kVK_ANSI_O : {keycode = 'o'; break;}
|
||||||
case kVK_ANSI_P : {keycode = 'P'; break;}
|
case kVK_ANSI_P : {keycode = 'p'; break;}
|
||||||
case kVK_ANSI_Q : {keycode = 'Q'; break;}
|
case kVK_ANSI_Q : {keycode = 'q'; break;}
|
||||||
case kVK_ANSI_R : {keycode = 'R'; break;}
|
case kVK_ANSI_R : {keycode = 'r'; break;}
|
||||||
case kVK_ANSI_S : {keycode = 'S';break;}
|
case kVK_ANSI_S : {keycode = 's';break;}
|
||||||
case kVK_ANSI_T : {keycode = 'T'; break;}
|
case kVK_ANSI_T : {keycode = 't'; break;}
|
||||||
case kVK_ANSI_U : {keycode = 'U'; break;}
|
case kVK_ANSI_U : {keycode = 'u'; break;}
|
||||||
case kVK_ANSI_V : {keycode = 'V'; break;}
|
case kVK_ANSI_V : {keycode = 'v'; break;}
|
||||||
case kVK_ANSI_W : {keycode = 'W'; break;}
|
case kVK_ANSI_W : {keycode = 'w'; break;}
|
||||||
case kVK_ANSI_X : {keycode = 'X'; break;}
|
case kVK_ANSI_X : {keycode = 'x'; break;}
|
||||||
case kVK_ANSI_Y : {keycode = 'Y'; break;}
|
case kVK_ANSI_Y : {keycode = 'y'; break;}
|
||||||
case kVK_ANSI_Z : {keycode = 'Z'; break;}
|
case kVK_ANSI_Z : {keycode = 'z'; break;}
|
||||||
|
|
||||||
case kVK_ANSI_1 : {keycode = '1'; break;}
|
case kVK_ANSI_1 : {keycode = '1'; break;}
|
||||||
case kVK_ANSI_2 : {keycode = '2'; break;}
|
case kVK_ANSI_2 : {keycode = '2'; break;}
|
||||||
@@ -1012,6 +1016,10 @@ void MacOpenGLWindow::getMouseCoordinates(int& x, int& y)
|
|||||||
void MacOpenGLWindow::setResizeCallback(b3ResizeCallback resizeCallback)
|
void MacOpenGLWindow::setResizeCallback(b3ResizeCallback resizeCallback)
|
||||||
{
|
{
|
||||||
[m_internalData->m_myview setResizeCallback:resizeCallback];
|
[m_internalData->m_myview setResizeCallback:resizeCallback];
|
||||||
|
if (resizeCallback)
|
||||||
|
{
|
||||||
|
(resizeCallback)(m_internalData->m_width,m_internalData->m_height);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -51,6 +51,7 @@ struct b3gWindowConstructionInfo
|
|||||||
void* m_windowHandle;
|
void* m_windowHandle;
|
||||||
const char* m_title;
|
const char* m_title;
|
||||||
int m_openglVersion;
|
int m_openglVersion;
|
||||||
|
|
||||||
|
|
||||||
b3gWindowConstructionInfo(int width=1024, int height=768)
|
b3gWindowConstructionInfo(int width=1024, int height=768)
|
||||||
:m_width(width),
|
:m_width(width),
|
||||||
|
|||||||
Reference in New Issue
Block a user