Configure class

This section specifies the default values for window properties.

This section must begin with begin class class_name and end with end class.

The class section is used to set default values for the window properties defined within the section; these properties are specified through parameters applied to framebuffers and application windows.

Framebuffers

The number of class sections that can be defined for framebuffers depends on the number of pipelines available. Generally, one framebuffer is defined per pipeline.

To specify that a class section is used to configure default values for a framebuffer, the follwing convention is used:
     framebuffer<unique_string>
    
The class_name of the class section must start with the string framebuffer followed by any unique string to identify the class. For example, some valid <class name> strings are:
  • framebuffer
  • framebuffer1
  • framebufferA
  • etc.
Below is an example of using multiple class sections to specify default vaules for two framebuffers, each for a specific pipeline:
  begin class framebuffer1
    display = 1
    pipeline = 1
    format = rgba8888
    usage = pvr2d
    id_string = fb1
  end class

  begin class framebuffer2
    display = 2
    pipeline = 2
    format = rgba8888
    usage = pvr2d
    id_string = fb2
  end class
       

Application windows

There's no explicit limit on the number of class sections that can be defined for configuring application windows.

To specify that a class section is used to configure default values for an application window, the class_name of the class section must be a unique string. This string needs to match the window property, SCREEN_PROPERTY_CLASS, you set in your application.

Below is an example of using a class section to specify defaults for an application window:
begin class my_app_win
  visible = true
  surface-size = 640x480
  source-position = 0,0
  source-size = 640x480
  window-position = 0,0
  window-size = 640x480
  id_string = MY_APP_WINDOW
end class
        

If you use the above class section in your configuration file, then you can simply set the SCREEN_PROPERTY_CLASS window property in your application code. The setting of this property will trigger Screen to apply the configured values that are associated with that class to your application window.

For example, if you use the above class section in your configuration file, you can use this in your application code:
...
const char my_win_class = "my_app_win";
const int len = strlen(my_win_class);
screen_set_window_property_cv(screen_win, SCREEN_PROPERTY_CLASS, len, my_win_class);
...
       

instead of this:

...
const int visible = 1
const char id_string = "MY_APP_WINDOW";
const int len = strlen(id_string);
const int buffer_size[2] = { 640, 480};
const int src_pos[2] = { 0, 0};
const int src_size[2] = { 640, 480};
const int win_pos[2] = { 0, 0};
const int win_size[2] = { 640, 480};
screen_set_window_property_iv(screen_win, SCREEN_PROPERTY_VISIBLE, &visible);
screen_set_window_property_iv(screen_win, SCREEN_PROPERTY_BUFFER_SIZE, buffer_size);
screen_set_window_property_iv(screen_win, SCREEN_PROPERTY_SOURCE_POSITION, src_pos);
screen_set_window_property_iv(screen_win, SCREEN_PROPERTY_SOURCE_SIZE, src_size);
screen_set_window_property_iv(screen_win, SCREEN_PROPERTY_POSITION, win_pos);
screen_set_window_property_iv(screen_win, SCREEN_PROPERTY_SIZE, win_size);
screen_set_window_property_cv(screen_win, SCREEN_PROPERTY_ID_STRING, len, id_string);
...
   

to set your window properties.