本文整理汇总了C++中Window::Closed方法的典型用法代码示例。如果您正苦于以下问题:C++ Window::Closed方法的具体用法?C++ Window::Closed怎么用?C++ Window::Closed使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Window
的用法示例。
在下文中一共展示了Window::Closed方法的5个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: main
int main() {
Window window;
Camera camera(window.GetAspectRatio(), glm::vec3(2.0, 2.0, 1.0));
Mesh* sphereMesh = CreateMesh("sphere.obj", "sphere");
Shader defaultShader("Shaders/defaultShader.vert", "Shaders/defaultShader.frag", "defaultShader");
SetupMesh(sphereMesh, defaultShader);
do {
window.Clear();
DrawMesh(*sphereMesh, camera, defaultShader);
camera.front = sphereMesh->position;
sphereMesh->rotY -= 0.016;
{
if (glfwGetKey(window.GetWindowInstance(), GLFW_KEY_W) == GLFW_PRESS) {
sphereMesh->position.x -= 0.16;
}
else if (glfwGetKey(window.GetWindowInstance(), GLFW_KEY_S) == GLFW_PRESS) {
sphereMesh->position.x += 0.16;
}
if (glfwGetKey(window.GetWindowInstance(), GLFW_KEY_A) == GLFW_PRESS) {
sphereMesh->position.z += 0.16;
}
else if (glfwGetKey(window.GetWindowInstance(), GLFW_KEY_D) == GLFW_PRESS) {
sphereMesh->position.z -= 0.16;
}
}
window.Update();
} while (!window.Closed() && glfwGetKey(window.GetWindowInstance(), GLFW_KEY_ESCAPE) != GLFW_PRESS);
delete sphereMesh;
}
示例2: Refresh
void View::Refresh( void ) {
Window *win = static_cast<Window *>( windows.Tail() );
Flood( Color(CF_COLOR_WHITE) );
while ( win ) {
if ( !win->Closed() ) {
win->Blit( this, Rect( 0, 0, win->Width(), win->Height() ),
win->LeftEdge(), win->TopEdge() );
}
win = static_cast<Window *>( win->Prev() );
}
// now update the display
Update();
}
示例3: HandleEvents
GUI_Status View::HandleEvents( void ) {
SDL_Event event;
GUI_Status rc = FetchEvent( event );
if ( (rc != GUI_ERROR) && (rc != GUI_QUIT) && (rc != GUI_NONE) ) {
Window *win = static_cast<Window *>( windows.Head() );
if ( win ) {
rc = win->HandleEvent( event );
if ( rc == GUI_CLOSE ) win = CloseWindow( win );
}
// collect destroyed windows
while ( (win = static_cast<Window *>(windows.Tail())) && win->Closed() ) {
win->Remove();
delete win;
}
}
return rc;
}
示例4: CloseAllWindows
void View::CloseAllWindows( void ) {
for ( Window *w = static_cast<Window *>(windows.Head());
w && !w->Closed(); w = static_cast<Window *>(w->Next()) )
w->Close();
Refresh();
}
示例5:
JNIEXPORT jboolean JNICALL Java_sp_app_Window_native_1Closed
(JNIEnv *env, jclass cls, jlong handler) {
Window* window = getHandle<Window>(handler);
return window->Closed();
}