/* GNU GENERAL LICENSE Copyright (C) 2006 The Lobo Project. Copyright (C) 2014 - 2017 Lobo Evolution This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either verion 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General License for more details. You should have received a copy of the GNU General Public along with this program. If not, see <http://www.gnu.org/licenses/>. Contact info: lobochief@users.sourceforge.net; ivan.difrancesco@yahoo.it */ package org.lobobrowser.html.renderer; import java.awt.Color; import java.awt.Component; import java.awt.Dimension; import java.awt.Graphics; import org.lobobrowser.html.HtmlObject; import org.lobobrowser.html.control.RUIControl; /** * The Class UIControlWrapper. */ public class UIControlWrapper implements UIControl { /** The component. */ private final Component component; /** The html object. */ private final HtmlObject htmlObject; /** * Instantiates a new UI control wrapper. * * @param ho * the ho */ public UIControlWrapper(HtmlObject ho) { this.htmlObject = ho; Component c; if (ho == null) { c = new BrokenComponent(); } else { c = ho.getComponent(); } this.component = c; } /* * (non-Javadoc) * @see org.lobobrowser.html.renderer.UIControl#reset(int, int) */ @Override public void reset(int availWidth, int availHeight) { this.htmlObject.reset(availWidth, availHeight); } /* * (non-Javadoc) * @see org.lobobrowser.html.renderer.UIControl#getComponent() */ @Override public Component getComponent() { return this.component; } /* * (non-Javadoc) * @see org.lobobrowser.html.renderer.UIControl#getVAlign() */ @Override public int getVAlign() { return RElement.VALIGN_BASELINE; } /* * (non-Javadoc) * @see org.lobobrowser.html.renderer.UIControl#getBackgroundColor() */ @Override public Color getBackgroundColor() { return this.component.getBackground(); } /* * (non-Javadoc) * @see org.lobobrowser.html.renderer.UIControl#getPreferredSize() */ @Override public Dimension getPreferredSize() { return this.component.getPreferredSize(); } /* * (non-Javadoc) * @see org.lobobrowser.html.renderer.UIControl#invalidate() */ @Override public void invalidate() { // Calls its AWT parent's invalidate, but I guess that's OK. this.component.invalidate(); } /** * Paint selection. * * @param g * the g * @param inSelection * the in selection * @param startPoint * the start point * @param endPoint * the end point * @return true, if successful */ public boolean paintSelection(Graphics g, boolean inSelection, RenderableSpot startPoint, RenderableSpot endPoint) { // Does not paint selection return inSelection; } /* * (non-Javadoc) * @see org.lobobrowser.html.renderer.UIControl#setBounds(int, int, int, int) */ @Override public void setBounds(int x, int y, int width, int height) { this.component.setBounds(x, y, width, height); } /* * (non-Javadoc) * @see * org.lobobrowser.html.renderer.UIControl#setRUIControl(org.lobobrowser.html * .control.RUIControl) */ @Override public void setRUIControl(RUIControl ruicontrol) { // Not doing anything with this. } /* * (non-Javadoc) * @see org.lobobrowser.html.renderer.UIControl#paint(java.awt.Graphics) */ @Override public void paint(Graphics g) { this.component.paint(g); } }