/*
*
*
* Copyright 1990-2009 Sun Microsystems, Inc. All Rights Reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER
*
* This program is free software; you can redistribute it and/or
* modify it under the terms of the GNU General Public License version
* 2 only, as published by the Free Software Foundation.
*
* 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 Public License version 2 for more details (a copy is
* included at /legal/license.txt).
*
* You should have received a copy of the GNU General Public License
* version 2 along with this work; if not, write to the Free Software
* Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
* 02110-1301 USA
*
* Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa
* Clara, CA 95054 or visit www.sun.com if you need additional
* information or have any questions.
*/
package javax.microedition.lcdui;
/**
* Look and feel implementation of <code>Spacer</code>.
*/
class SpacerLFImpl extends ItemLFImpl implements SpacerLF {
/**
* Creates Look & Feel object for <code>Spacer</code>.
*
* @param spacer the model object
*/
SpacerLFImpl(Spacer spacer) {
super(spacer);
sp = spacer;
// Initialize the cached requested size
lSetRequestedSizes(sp.width, sp.height, sp.width, sp.height);
}
/**
* Notifies look & feel of a minimum size change in the
* <code>Spacer</code>.
*
* @param minWidth the new minimum width
* @param minHeight the new minimum height
*/
public void lSetMinimumSize(int minWidth, int minHeight) {
lRequestInvalidate(true, true);
// Set requested sizes AFTER the invalidate request above
lSetRequestedSizes(sp.width, sp.height, sp.width, sp.height);
}
/**
* Calculate minimum and preferred width and height of this item and
* store the result in instance variables:
* minimumWidth, minimumHeight, preferredWidth and preferredHeight.
*
* Override the version in <code>ItemLFImpl</code> to do nothing.
*/
void lGetRequestedSizes() {
// Since the cached sizes are always kept up to date.
// Nothing needs to be done here.
// ASSERT (isRequestedSizesValid() == true)
}
/**
* Called by event delivery to notify an <code>ItemLF</code> in current
* <code>FormLF</code> of a change in its peer state.
*
* Do nothing and returns <code>false</code> since there is no state
* to change.
*
* @param hint not used
*
* @return always <code>false</code>
*/
boolean uCallPeerStateChanged(int hint) {
return false; // Unexpected call
}
/**
* Create native resource of this <code>Item</code>.
*
* @param ownerId owner screen's native resource id
*/
void createNativeResource(int ownerId) { }
/**
* <code>Spacer</code> associated with this look & feel.
*/
Spacer sp;
}