application

윈도우를 생성하여, OF 어플리케이션을 시작하면서, 그것의 상태에 관한 정보를 체크하기

이 모듈의 메인 클래스들은 각 플랫폼을 위한 윈도우들과 윈도우를 생성할 때 오픈프레임웍스에 전달될 수 있는 세팅 클래스들 입니다. 대부분의 프로젝트들은 오픈프레임웍스가 내부적으로 이것들을 사용하기 때문에, 여러분이 꼭 사용할 필요는 없지만, 적절한 각 상황에서는 올바른 방법을 사용하여 시작하고 무한루프로 마칠 수 있습니다.

이 모든것들은 평소에는 여러분의 어플리케이션의 main.cpp에서 벌어집니다. 아무 예제에서든 어떻게 동작하는지 확인할 수 있습니다.

특별한 경우 윈도우가 생성될때 특정한 세팅을 하고 싶을 경우가 잇습니다. 예를들어 openGL의 특정 버젼을 사용하고 싶다면, main.cpp에서 이렇게 할 수 있습니다:

#include "ofMain.h"
#include "ofApp.h"

//========================================================================
int main( ){
    ofGLWindowSettings settings;
    settings.setGLVersion(3,2);
    ofCreateWindow(settings);

    // this kicks off the running of my app
    // can be OF_WINDOW or OF_FULLSCREEN
    // pass in width and height too:
    ofRunApp(new ofApp());

}

위의 경우 특별히 openGL 3.2를 사용하여 윈도우를 생성하라고 하는 경우입니다.

또한 하나의 어플리케이션에서 여러 윈도우를 사용할 때에는, 각각 다른 윈도우 클래스를 사용하게 할 필요가 있습니다.

어떠한 플랫폼에서나 동작하는 윈도우의 기본 세팅이 있습니다: ofWindowSettings을 사용하여 크기를 갖는 윈도우나 전체화면으로 어플리케이션을 구동하게끔 하는 아주 기본적인 세팅을 할 수 있습니다.

openGL 기반 어플리케이션을 위해 특정 GL 윈도우 세팅클래스가 있습니다. 일반 openGL을 위한 ofGLWindowSettings, 그리고 모바일기기나 라즈베리파이와 같은 리눅스 arm보드에 알맞는openGL ES를 위한 ofGLESWindowSettings가 있습니다.

데스크탑에서는 GLFW가 기본 윈도우 시스템이므로, 데스크탑 환경에 보다 자세한 세팅을 할 수 있는 ofGLFWWindowSettings를 사용할 수 있습니다. 윈도우가 최소화 상태로 시작하게 하거나, 창의 위치를 지정하거나 혹은 몇번째 모니터에서 보여질 것인지 하는 것들을 지정할 수 있습니다.

이러한 모든 세팅클래스들은 같은방법으로 사용됩니다. 인스터스를 생성하고, 필드를 세팅하여 윈도우를 생성하는 ofCreateWindow로 전달합니다. 아래처럼 이 윈도우를 배열의 형태로 가지고 있을 수 있거나:

auto window = ofCreateWindow(settings);

혹은 어플리케이션이 하나의 윈도우만 가지게 될 경우 그냥 무시할 수 있습니다. examples/events 폴더에서 멀티윈도우 어플리케이션의 예제를 보실 수 있습니다.