Recipe 2.4 Detecting Display Settings

2.4.1 Problem

You want to know the display settings for the device on which the movie is being played.

2.4.2 Solution

Use the screenResolutionX and screenResolutionY properties of the System.capabilities object.

2.4.3 Discussion

You should use the System.capabilities object to determine the display settings of the device that is playing the movie. The screenResolutionX and screenResolutionY properties return the display resolution in pixels.

// Example output:
// 1024
// 768

You can use these values to determine how to display a movie or even which movie to load. These decisions are increasingly important as more handheld devices support the Flash Player. For example, the dimensions of a cell phone screen and a typical desktop computer display are different, so you should load different content based on the playback device:

resX = System.capabilities.screenResolutionX;
resY = System.capabilities.screenResolutionY;

// If the resolution is 240   x   320 or less, then load the PocketPC movie version.
// Otherwise, assume the device is a desktop computer and load the regular content.
if ( (resX <= 240) && (resY <= 320) ) {
else {

You can also use the screen-resolution values to center a pop-up browser window:

resX = System.capabilities.screenResolutionX;
resY = System.capabilities.screenResolutionY;

// Set variables for the width and height of the new browser window.
winW = 200;
winH = 200;

// Determine the x and y values in order to center the window.
winX = (resX / 2) - (winW / 2);
winY = (resY / 2) - (winH / 2);

// Create the code that, when passed to getURL(  ), opens the new browser window.
jsCode = "javascript:void(''," + 
         "'newWindow', 'width=" + winW +
         ", height=" +  winH + "," + 
         "left=" + winX + ",top=" + winY + "'));";

// Call the JavaScript function using getURL(  ).

Additionally, it is worth considering using the screen-resolution values to determine whether to scale a movie. For example, when users have their resolution set to a high value such as 1600 x 1200, some fonts may appear too small to read.

    Part I: Local Recipes
    Part II: Remote Recipes