/* * Copyright (c) 2011, 2014, Oracle and/or its affiliates. All rights reserved. * ORACLE PROPRIETARY/CONFIDENTIAL. Use is subject to license terms. * * * * * * * * * * * * * * * * * * * * */ package com.sun.webkit; import com.sun.webkit.graphics.WCRectangle; import java.util.logging.Level; import java.util.logging.Logger; class WCWidget { private final static Logger log = Logger.getLogger(WCWidget.class.getName()); static { initIDs(); } private int x; private int y; private int width; private int height; private final WebPage page; WCWidget(WebPage page) { this.page = page; } WebPage getPage() { return page; } WCRectangle getBounds() { return new WCRectangle(x, y, width, height); } void setBounds(int x, int y, int width, int height) { this.x = x; this.y = y; this.width = width; this.height = height; } protected void destroy() {} protected void requestFocus() {} protected void setCursor(long cursorID) {} protected void setVisible(boolean visible) {} private void fwkDestroy() { log.log(Level.FINER, "destroy"); destroy(); } private void fwkSetBounds(int x, int y, int w, int h) { if (log.isLoggable(Level.FINER)) { log.log(Level.FINER, "setBounds({0}, {1}, {2}, {3})", new Object[] { x, y, w, h }); } setBounds(x, y, w, h); } private void fwkRequestFocus() { log.log(Level.FINER, "requestFocus"); requestFocus(); } private void fwkSetCursor(long cursorID) { if (log.isLoggable(Level.FINER)) { log.log(Level.FINER, "setCursor({0})", cursorID); } setCursor(cursorID); } private void fwkSetVisible(boolean visible) { if (log.isLoggable(Level.FINER)) { log.log(Level.FINER, "setVisible({0})", visible); } setVisible(visible); } protected int fwkGetScreenDepth() { log.log(Level.FINER, "getScreenDepth"); WebPageClient pageClient = page.getPageClient(); return pageClient != null ? pageClient.getScreenDepth() : 24; } protected WCRectangle fwkGetScreenRect(boolean available) { if (log.isLoggable(Level.FINER)) { log.log(Level.FINER, "getScreenRect({0})", available); } WebPageClient pageClient = page.getPageClient(); return pageClient != null ? pageClient.getScreenBounds(available) : null; } private static native void initIDs(); }