net.rim.device.api.amms.control.camera
Class ViewfinderOverlay

java.lang.Object
  extended by net.rim.device.api.ui.Field
      extended by net.rim.device.api.ui.ScrollView
          extended by net.rim.device.api.ui.Manager
              extended by net.rim.device.api.ui.container.AbsoluteFieldManager
                  extended by net.rim.device.api.amms.control.camera.ViewfinderOverlay
All Implemented Interfaces:
AdjustmentListener

public class ViewfinderOverlay
extends AbsoluteFieldManager

Provides an overlay for the viewfinder window for augmentation purposes. After construction, ViewfinderOverlay.getCanvas() will return a ComponentCanvas that overlaying UI components can be added to. In addition, this class supports adding ViewfinderOverlay.VideoControlOverlayField that will always be positioned directly on top of the viewfinder window.

 
   ImageDecoder decoder = new ...
   ImageDecoderListener listener = new ... 

   ImageScanner scanner = new ImageScanner( decoder, listener );
   ViewfinderOverlay overlay = new ViewfinderOverlay( scanner.getViewfinder() );

   ViewfinderOverlay.VideoControlOverlayField windowOverlay = new ViewfinderOverlay.VideoControlOverlayField {
      protected void paint(Graphics graphics) {
          // drawing on top of the viewfinder window
      }
   };

   overlay.getCanvas().add( windowOverlay );
 

Since:
BlackBerry API 7.0.0

Nested Class Summary
static class ViewfinderOverlay.OverlayCanvas
          A ComponentCanvas that always has the same extent as the provided viewfinder, and positions its ViewfinderOverlay.OverlayCanvas.Positionable Fields after layout.
static class ViewfinderOverlay.VideoControlOverlayField
          ViewfinderOverlay.VideoControlOverlayField is a Field that matches the dimensions of the video window controlled by a given VideoControl, and overlays it directly.
 
Field Summary
 
Fields inherited from class net.rim.device.api.ui.Manager
BOTTOMMOST, DOWNWARD, HORIZONTAL_SCROLL, HORIZONTAL_SCROLLBAR, HORIZONTAL_SCROLLBAR_MASK, HORIZONTAL_SCROLL_MASK, LEAVE_BLANK_SPACE, LEFTMOST, LEFTWARD, NO_HORIZONTAL_SCROLL, NO_HORIZONTAL_SCROLLBAR, NO_SCROLL_RESET, NO_VERTICAL_SCROLL, NO_VERTICAL_SCROLLBAR, QUANTA_FONT, RIGHTMOST, RIGHTWARD, TOPMOST, UPWARD, VERTICAL_SCROLL, VERTICAL_SCROLLBAR, VERTICAL_SCROLLBAR_MASK, VERTICAL_SCROLL_MASK
 
Fields inherited from class net.rim.device.api.ui.Field
ACTION_INVOKE, AXIS_HORIZONTAL, AXIS_SEQUENTIAL, AXIS_VERTICAL, EDITABLE, EDITABLE_MASK, FIELD_BOTTOM, FIELD_HALIGN_MASK, FIELD_HCENTER, FIELD_LEADING, FIELD_LEFT, FIELD_RIGHT, FIELD_TOP, FIELD_TRAILING, FIELD_VALIGN_MASK, FIELD_VCENTER, FOCUSABLE, FOCUSABLE_MASK, HIGHLIGHT_FOCUS, HIGHLIGHT_SELECT, NON_FOCUSABLE, NON_SPELLCHECKABLE, READONLY, SPELLCHECKABLE, SPELLCHECKABLE_MASK, STATUS_MOVE_FOCUS_HORIZONTALLY, STATUS_MOVE_FOCUS_VERTICALLY, USE_ALL_HEIGHT, USE_ALL_WIDTH, VISUAL_STATE_ACTIVE, VISUAL_STATE_DISABLED, VISUAL_STATE_DISABLED_FOCUS, VISUAL_STATE_FOCUS, VISUAL_STATE_NORMAL
 
Constructor Summary
ViewfinderOverlay(Field viewfinder)
          Creates a new instance of ViewfinderOverlay.
ViewfinderOverlay(Field viewfinder, int x, int y)
          Creates a new instance of ViewfinderOverlay.
 
Method Summary
 ViewfinderOverlay.OverlayCanvas getCanvas()
          Returns the ComponentCanvas to add ui components to that will overlay the viewfinder.
 
Methods inherited from class net.rim.device.api.ui.container.AbsoluteFieldManager
add, getPreferredHeight, getPreferredWidth, insert, nextFocus, setPosChild, sublayout
 
Methods inherited from class net.rim.device.api.ui.Manager
add, addAll, cursorClick, cursorUnclick, delete, deleteAll, deleteRange, getAccessibleContext, getField, getFieldAtLocation, getFieldCount, getFieldWithFocus, getFieldWithFocusIndex, getFocusRect, getHorizontalScroll, getLeafFieldWithFocus, getPreferredHeightOfChild, getPreferredWidthOfChild, getVerticalScroll, getVirtualHeight, getVirtualWidth, insert, insertAll, invalidate, invalidate, invalidateFieldRange, invokeAction, isDataValid, isDirty, isDownArrowShown, isFocusable, isMuddy, isSelecting, isUpArrowShown, isValidLayout, keyChar, keyControl, keyDown, keyRepeat, keyStatus, keyUp, layout, layoutChild, makeMenu, moveFocus, moveFocus, navigationClick, navigationMovement, navigationUnclick, nextFocus, onFocus, onUnfocus, paint, paintChild, replace, setDirty, setFocus, setHorizontalQuantization, setPositionChild, setScrollingInertial, setVerticalQuantization, setVirtualExtent, subpaint, touchEvent, trackwheelClick, trackwheelUnclick
 
Methods inherited from class net.rim.device.api.ui.ScrollView
configurationChanged, getHorizontalAdjustment, getVerticalAdjustment, getVisibleHeight, getVisibleWidth, onDisplay, onExposed, onUndisplay, setCurrentLocation, setExtent, setHorizontalAdjustment, setHorizontalScroll, setHorizontalScroll, setScrollListener, setVerticalAdjustment, setVerticalScroll, setVerticalScroll, valueChanged, waitForScrolling
 
Methods inherited from class net.rim.device.api.ui.Field
drawFocus, drawHighlightRegion, fieldChangeNotify, focusAdd, focusRemove, getBackground, getBackground, getBorder, getBorder, getBorder, getChangeListener, getCommandItemProvider, getContentHeight, getContentLeft, getContentRect, getContentRect, getContentTop, getContentWidth, getContextMenu, getCookie, getExtent, getExtent, getFieldStyle, getFocusListener, getFont, getHeight, getIndex, getLeft, getManager, getMargin, getMarginBottom, getMarginLeft, getMarginRight, getMarginTop, getOriginal, getPadding, getPaddingBottom, getPaddingLeft, getPaddingRight, getPaddingTop, getScreen, getStyle, getTextFillColor, getTextStrokeColor, getTop, getVisualState, getWidth, invalidateAll, isEditable, isEnabled, isFocus, isLeftToRight, isPasteable, isScrollCopyable, isSelectable, isSelectionCopyable, isSelectionCutable, isSelectionDeleteable, isSpellCheckable, isStyle, isVisible, makeContextMenu, onMenuDismissed, onMenuDismissed, onObscured, onVisibilityChange, paste, select, selectionCopy, selectionCut, selectionDelete, setBackground, setBackground, setBorder, setBorder, setBorder, setBorder, setChangeListener, setCommandItemProvider, setCookie, setEditable, setEnabled, setFocus, setFocusListener, setFont, setFont, setMargin, setMargin, setMuddy, setNonSpellCheckable, setPadding, setPadding, setPosition, setVisualState, updateLayout
 
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 



Constructor Detail

ViewfinderOverlay

public ViewfinderOverlay(Field viewfinder)
Creates a new instance of ViewfinderOverlay. The provided viewfinder and ViewfinderOverlay.OverlayCanvas are positioned at (0, 0).

Parameters:
viewfinder - Viewfinder returnd by ImageScanner.getViewfinder().
Throws:
IllegalArgumentException - if viewfinder is null.
Since:
BlackBerry API 7.0.0

ViewfinderOverlay

public ViewfinderOverlay(Field viewfinder,
                         int x,
                         int y)
Creates a new instance of ViewfinderOverlay. The provided viewfinder and ViewfinderOverlay.OverlayCanvas are positioned at the provided coordinates.

Parameters:
viewfinder - Viewfinder returnd by ImageScanner.getViewfinder().
x - the x coordinate for the viewfinder and overlay.
y - the y coordinate for the viewfinder and overlay.
Throws:
IllegalArgumentException - if viewfinder is null.
Since:
BlackBerry API 7.0.0


Method Detail

getCanvas

public ViewfinderOverlay.OverlayCanvas getCanvas()
Returns the ComponentCanvas to add ui components to that will overlay the viewfinder.

Returns:
canvas
See Also:
ComponentCanvas
Since:
BlackBerry API 7.0.0





Copyright 1999-2011 Research In Motion Limited. 295 Phillip Street, Waterloo, Ontario, Canada, N2L 3W8. All Rights Reserved.
Java is a trademark of Oracle America Inc. in the US and other countries.
Legal