1 /* Copyright (C) 2002-2005 RealVNC Ltd. All Rights Reserved. 2 * 3 * This is free software; you can redistribute it and/or modify 4 * it under the terms of the GNU General Public License as published by 5 * the Free Software Foundation; either version 2 of the License, or 6 * (at your option) any later version. 7 * 8 * This software is distributed in the hope that it will be useful, 9 * but WITHOUT ANY WARRANTY; without even the implied warranty of 10 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 11 * GNU General Public License for more details. 12 * 13 * You should have received a copy of the GNU General Public License 14 * along with this software; if not, write to the Free Software 15 * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, 16 * USA. 17 */ 18 19 package com.tigervnc.rfb; 20 21 public class Cursor extends ManagedPixelBuffer { 22 Cursor(PixelFormat pf, int w, int h)23 public Cursor(PixelFormat pf, int w, int h) { 24 super(pf, w, h); 25 hotspot = new Point(0, 0); 26 } 27 setSize(int w, int h)28 public void setSize(int w, int h) { 29 int oldMaskLen = maskLen(); 30 super.setSize(w, h); 31 if (mask == null || maskLen() > oldMaskLen) 32 mask = new byte[maskLen()]; 33 } 34 maskLen()35 public int maskLen() { return (width() + 7) / 8 * height(); } 36 37 public Point hotspot; 38 public byte[] mask; 39 } 40