// Copyright 2012 Citrix Systems, Inc. Licensed under the // Apache License, Version 2.0 (the "License"); you may not use this // file except in compliance with the License. Citrix Systems, Inc. // reserves all rights not expressly granted by the License. // You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 // Unless required by applicable law or agreed to in writing, software // distributed under the License is distributed on an "AS IS" BASIS, // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. // See the License for the specific language governing permissions and // limitations under the License. // // Automatically generated by addcopyright.py at 04/03/2012 package com.cloud.consoleproxy.vnc; /** * VncScreenDescription - contains information about remote VNC screen. */ public class VncScreenDescription { // Frame buffer size private int framebufferWidth = -1; private int framebufferHeight = -1; // Desktop name private String desktopName; // Bytes per pixel private int bytesPerPixel; // Indicates that screen uses format which we want to use: // RGB 24bit packed into 32bit little-endian int. private boolean rgb888_32_le = false; public VncScreenDescription() { } /** * Store information about server pixel format. */ public void setPixelFormat(int bitsPerPixel, int depth, int bigEndianFlag, int trueColorFlag, int redMax, int greenMax, int blueMax, int redShift, int greenShift, int blueShift) { bytesPerPixel = (bitsPerPixel + 7) / 8; rgb888_32_le = (depth == 24 && bitsPerPixel == 32 && redShift == 16 && greenShift == 8 && blueShift == 0 && redMax == 255 && greenMax == 255 && blueMax == 255 && bigEndianFlag == RfbConstants.LITTLE_ENDIAN && trueColorFlag == RfbConstants.TRUE_COLOR); } /** * Store information about server screen size. */ public void setFramebufferSize(int framebufferWidth, int framebufferHeight) { this.framebufferWidth = framebufferWidth; this.framebufferHeight = framebufferHeight; } /** * Store server desktop name. */ public void setDesktopName(String desktopName) { this.desktopName = desktopName; } // Getters for variables, as usual public String getDesktopName() { return desktopName; } public int getBytesPerPixel() { return bytesPerPixel; } public int getFramebufferHeight() { return framebufferHeight; } public int getFramebufferWidth() { return framebufferWidth; } public boolean isRGB888_32_LE() { return rgb888_32_le; } }