de.softpro.signdocmobile.foundations
Class SignatureCaptureView

java.lang.Object
  extended by android.view.View
      extended by android.view.ViewGroup
          extended by android.widget.LinearLayout
              extended by de.softpro.signdocmobile.foundations.SignatureCaptureView
All Implemented Interfaces:
android.graphics.drawable.Drawable.Callback, android.view.accessibility.AccessibilityEventSource, android.view.KeyEvent.Callback, android.view.ViewManager, android.view.ViewParent

public class SignatureCaptureView
extends android.widget.LinearLayout

A View class to perform user signature capture touch information.


Nested Class Summary
static interface SignatureCaptureView.ICaptureViewBackgroundProvider
          SignatureCaptureView calls the provider when it requires a background to be drawn.
static interface SignatureCaptureView.ISignatureButtonListener
          Listener that indicates when a hosted button is clicked
static interface SignatureCaptureView.ISignatureCaptureButton
          Button should implement this interface to be hosted in the SignatureCaptureView
static interface SignatureCaptureView.ISignatureTraceListener
          Listener that indicates when a Tablet event occurs
 
Nested classes/interfaces inherited from class android.widget.LinearLayout
android.widget.LinearLayout.LayoutParams
 
Nested classes/interfaces inherited from class android.view.ViewGroup
android.view.ViewGroup.MarginLayoutParams, android.view.ViewGroup.OnHierarchyChangeListener
 
Nested classes/interfaces inherited from class android.view.View
android.view.View.AccessibilityDelegate, android.view.View.BaseSavedState, android.view.View.DragShadowBuilder, android.view.View.MeasureSpec, android.view.View.OnAttachStateChangeListener, android.view.View.OnClickListener, android.view.View.OnCreateContextMenuListener, android.view.View.OnDragListener, android.view.View.OnFocusChangeListener, android.view.View.OnGenericMotionListener, android.view.View.OnHoverListener, android.view.View.OnKeyListener, android.view.View.OnLayoutChangeListener, android.view.View.OnLongClickListener, android.view.View.OnSystemUiVisibilityChangeListener, android.view.View.OnTouchListener
 
Field Summary
 
Fields inherited from class android.widget.LinearLayout
HORIZONTAL, SHOW_DIVIDER_BEGINNING, SHOW_DIVIDER_END, SHOW_DIVIDER_MIDDLE, SHOW_DIVIDER_NONE, VERTICAL
 
Fields inherited from class android.view.ViewGroup
FOCUS_AFTER_DESCENDANTS, FOCUS_BEFORE_DESCENDANTS, FOCUS_BLOCK_DESCENDANTS, PERSISTENT_ALL_CACHES, PERSISTENT_ANIMATION_CACHE, PERSISTENT_NO_CACHE, PERSISTENT_SCROLLING_CACHE
 
Fields inherited from class android.view.View
ALPHA, DRAWING_CACHE_QUALITY_AUTO, DRAWING_CACHE_QUALITY_HIGH, DRAWING_CACHE_QUALITY_LOW, FIND_VIEWS_WITH_CONTENT_DESCRIPTION, FIND_VIEWS_WITH_TEXT, FOCUS_BACKWARD, FOCUS_DOWN, FOCUS_FORWARD, FOCUS_LEFT, FOCUS_RIGHT, FOCUS_UP, FOCUSABLES_ALL, FOCUSABLES_TOUCH_MODE, GONE, HAPTIC_FEEDBACK_ENABLED, INVISIBLE, KEEP_SCREEN_ON, LAYER_TYPE_HARDWARE, LAYER_TYPE_NONE, LAYER_TYPE_SOFTWARE, MEASURED_HEIGHT_STATE_SHIFT, MEASURED_SIZE_MASK, MEASURED_STATE_MASK, MEASURED_STATE_TOO_SMALL, NO_ID, OVER_SCROLL_ALWAYS, OVER_SCROLL_IF_CONTENT_SCROLLS, OVER_SCROLL_NEVER, ROTATION, ROTATION_X, ROTATION_Y, SCALE_X, SCALE_Y, SCROLLBAR_POSITION_DEFAULT, SCROLLBAR_POSITION_LEFT, SCROLLBAR_POSITION_RIGHT, SCROLLBARS_INSIDE_INSET, SCROLLBARS_INSIDE_OVERLAY, SCROLLBARS_OUTSIDE_INSET, SCROLLBARS_OUTSIDE_OVERLAY, SOUND_EFFECTS_ENABLED, STATUS_BAR_HIDDEN, STATUS_BAR_VISIBLE, SYSTEM_UI_FLAG_HIDE_NAVIGATION, SYSTEM_UI_FLAG_LOW_PROFILE, SYSTEM_UI_FLAG_VISIBLE, TRANSLATION_X, TRANSLATION_Y, VISIBLE, X, Y
 
Constructor Summary
SignatureCaptureView(android.content.Context context)
          This constructor is used to construct the CanvasView in the source code.
SignatureCaptureView(android.content.Context context, android.util.AttributeSet attrs)
          This constructor is called when the SignatureCaptureView is constructed by the XML
 
Method Summary
 boolean addBackgroundImg(android.graphics.Bitmap img)
          Add a background to the SignatureCaptureView Add an image to SignatureCaptureView background.
 boolean addBackgroundImg(android.graphics.Bitmap img, android.graphics.Rect rect)
          Add a background to the SignatureCaptureView Add an image to SignatureCaptureView background.
 boolean addButtons(java.util.List<SignatureCaptureView.ISignatureCaptureButton> buttons)
          Add buttons to the signature capture view.
 void clear()
          Clear the captured signature from the screen and TabletTraceCollection
 void clearBackgroundImg()
          Remove background images from view Remove any background images that have been added using addBackgroundImg
 PenSetting getPen()
          Get the currently selected pen
 TabletTraceCollection getTabletTraceCollection()
          Get the current TabletTraceCollection
static java.lang.String getVersionNumber()
          Get the version number
 boolean isEmpty()
          Check if there is a signature captured The signature is not empty if there is at least one point captured
 boolean removeButtons()
          Remove buttons to the signature capture view.
 void setBackgroundProvider(SignatureCaptureView.ICaptureViewBackgroundProvider provider)
          Set the ICaptureViewBackgroundProvider Implement the ICaptureViewBackgroundProvider interface use this method to set the implementation.
 void setButtonListener(SignatureCaptureView.ISignatureButtonListener listener)
          A method to register the listener that indicates when a hosted button is clicked
 boolean setPen(PenSetting pen)
          Set the pen
 void setTraceListener(SignatureCaptureView.ISignatureTraceListener listener)
          A method to register the listener that indicates when a Tablet event occurs
 
Methods inherited from class android.widget.LinearLayout
generateLayoutParams, getBaseline, getBaselineAlignedChildIndex, getDividerPadding, getOrientation, getShowDividers, getWeightSum, isBaselineAligned, isMeasureWithLargestChildEnabled, setBaselineAligned, setBaselineAlignedChildIndex, setDividerDrawable, setDividerPadding, setGravity, setHorizontalGravity, setMeasureWithLargestChildEnabled, setOrientation, setShowDividers, setVerticalGravity, setWeightSum, shouldDelayChildPressedState
 
Methods inherited from class android.view.ViewGroup
addFocusables, addFocusables, addStatesFromChildren, addTouchables, addView, addView, addView, addView, addView, bringChildToFront, childDrawableStateChanged, clearChildFocus, clearDisappearingChildren, clearFocus, dispatchConfigurationChanged, dispatchDisplayHint, dispatchDragEvent, dispatchKeyEvent, dispatchKeyEventPreIme, dispatchKeyShortcutEvent, dispatchSetActivated, dispatchSetSelected, dispatchSystemUiVisibilityChanged, dispatchTouchEvent, dispatchTrackballEvent, dispatchUnhandledMove, dispatchWindowFocusChanged, dispatchWindowVisibilityChanged, endViewTransition, findFocus, findViewsWithText, focusableViewAvailable, focusSearch, gatherTransparentRegion, getChildAt, getChildCount, getChildMeasureSpec, getChildVisibleRect, getDescendantFocusability, getFocusedChild, getLayoutAnimation, getLayoutAnimationListener, getLayoutTransition, getPersistentDrawingCache, hasFocus, hasFocusable, indexOfChild, invalidateChild, invalidateChildInParent, isAlwaysDrawnWithCacheEnabled, isAnimationCacheEnabled, isMotionEventSplittingEnabled, jumpDrawablesToCurrentState, layout, offsetDescendantRectToMyCoords, offsetRectIntoDescendantCoords, onInterceptHoverEvent, onInterceptTouchEvent, onRequestSendAccessibilityEvent, recomputeViewAttributes, removeAllViews, removeAllViewsInLayout, removeView, removeViewAt, removeViewInLayout, removeViews, removeViewsInLayout, requestChildFocus, requestChildRectangleOnScreen, requestDisallowInterceptTouchEvent, requestFocus, requestSendAccessibilityEvent, requestTransparentRegion, scheduleLayoutAnimation, setAddStatesFromChildren, setAlwaysDrawnWithCacheEnabled, setAnimationCacheEnabled, setClipChildren, setClipToPadding, setDescendantFocusability, setLayoutAnimation, setLayoutAnimationListener, setLayoutTransition, setMotionEventSplittingEnabled, setOnHierarchyChangeListener, setPadding, setPersistentDrawingCache, showContextMenuForChild, startActionModeForChild, startLayoutAnimation, startViewTransition, updateViewLayout
 
Methods inherited from class android.view.View
addOnAttachStateChangeListener, addOnLayoutChangeListener, animate, bringToFront, buildDrawingCache, buildDrawingCache, buildLayer, cancelLongPress, canScrollHorizontally, canScrollVertically, checkInputConnectionProxy, clearAnimation, combineMeasuredStates, computeScroll, createAccessibilityNodeInfo, createContextMenu, destroyDrawingCache, dispatchGenericMotionEvent, dispatchPopulateAccessibilityEvent, draw, findViewById, findViewWithTag, fitsSystemWindows, focusSearch, forceLayout, getAlpha, getAnimation, getApplicationWindowToken, getBackground, getBottom, getContentDescription, getContext, getDefaultSize, getDrawableState, getDrawingCache, getDrawingCache, getDrawingCacheBackgroundColor, getDrawingCacheQuality, getDrawingRect, getDrawingTime, getFilterTouchesWhenObscured, getFocusables, getFocusedRect, getGlobalVisibleRect, getGlobalVisibleRect, getHandler, getHeight, getHitRect, getHorizontalFadingEdgeLength, getId, getKeepScreenOn, getKeyDispatcherState, getLayerType, getLayoutParams, getLeft, getLocalVisibleRect, getLocationInWindow, getLocationOnScreen, getMatrix, getMeasuredHeight, getMeasuredHeightAndState, getMeasuredState, getMeasuredWidth, getMeasuredWidthAndState, getNextFocusDownId, getNextFocusForwardId, getNextFocusLeftId, getNextFocusRightId, getNextFocusUpId, getOnFocusChangeListener, getOverScrollMode, getPaddingBottom, getPaddingLeft, getPaddingRight, getPaddingTop, getParent, getPivotX, getPivotY, getResources, getRight, getRootView, getRotation, getRotationX, getRotationY, getScaleX, getScaleY, getScrollBarStyle, getScrollX, getScrollY, getSolidColor, getSystemUiVisibility, getTag, getTag, getTop, getTouchables, getTouchDelegate, getTranslationX, getTranslationY, getVerticalFadingEdgeLength, getVerticalScrollbarPosition, getVerticalScrollbarWidth, getViewTreeObserver, getVisibility, getWidth, getWindowToken, getWindowVisibility, getWindowVisibleDisplayFrame, getX, getY, hasWindowFocus, inflate, invalidate, invalidate, invalidate, invalidateDrawable, isActivated, isClickable, isDirty, isDrawingCacheEnabled, isDuplicateParentStateEnabled, isEnabled, isFocusable, isFocusableInTouchMode, isFocused, isHapticFeedbackEnabled, isHardwareAccelerated, isHorizontalFadingEdgeEnabled, isHorizontalScrollBarEnabled, isHovered, isInEditMode, isInTouchMode, isLayoutRequested, isLongClickable, isOpaque, isPressed, isSaveEnabled, isSaveFromParentEnabled, isScrollbarFadingEnabled, isSelected, isShown, isSoundEffectsEnabled, isVerticalFadingEdgeEnabled, isVerticalScrollBarEnabled, measure, offsetLeftAndRight, offsetTopAndBottom, onCheckIsTextEditor, onCreateInputConnection, onDragEvent, onFilterTouchEventForSecurity, onFinishTemporaryDetach, onGenericMotionEvent, onHoverChanged, onHoverEvent, onInitializeAccessibilityEvent, onInitializeAccessibilityNodeInfo, onKeyDown, onKeyLongPress, onKeyMultiple, onKeyPreIme, onKeyShortcut, onKeyUp, onPopulateAccessibilityEvent, onStartTemporaryDetach, onTouchEvent, onTrackballEvent, onWindowFocusChanged, performClick, performHapticFeedback, performHapticFeedback, performLongClick, playSoundEffect, post, postDelayed, postInvalidate, postInvalidate, postInvalidateDelayed, postInvalidateDelayed, refreshDrawableState, removeCallbacks, removeOnAttachStateChangeListener, removeOnLayoutChangeListener, requestFocus, requestFocus, requestFocusFromTouch, requestLayout, requestRectangleOnScreen, requestRectangleOnScreen, resolveSize, resolveSizeAndState, restoreHierarchyState, saveHierarchyState, scheduleDrawable, scrollBy, scrollTo, sendAccessibilityEvent, sendAccessibilityEventUnchecked, setAccessibilityDelegate, setActivated, setAlpha, setAnimation, setBackgroundColor, setBackgroundDrawable, setBackgroundResource, setBottom, setCameraDistance, setClickable, setContentDescription, setDrawingCacheBackgroundColor, setDrawingCacheEnabled, setDrawingCacheQuality, setDuplicateParentStateEnabled, setEnabled, setFadingEdgeLength, setFilterTouchesWhenObscured, setFitsSystemWindows, setFocusable, setFocusableInTouchMode, setHapticFeedbackEnabled, setHorizontalFadingEdgeEnabled, setHorizontalScrollBarEnabled, setHovered, setId, setKeepScreenOn, setLayerType, setLayoutParams, setLeft, setLongClickable, setMinimumHeight, setMinimumWidth, setNextFocusDownId, setNextFocusForwardId, setNextFocusLeftId, setNextFocusRightId, setNextFocusUpId, setOnClickListener, setOnCreateContextMenuListener, setOnDragListener, setOnFocusChangeListener, setOnGenericMotionListener, setOnHoverListener, setOnKeyListener, setOnLongClickListener, setOnSystemUiVisibilityChangeListener, setOnTouchListener, setOverScrollMode, setPivotX, setPivotY, setPressed, setRight, setRotation, setRotationX, setRotationY, setSaveEnabled, setSaveFromParentEnabled, setScaleX, setScaleY, setScrollbarFadingEnabled, setScrollBarStyle, setScrollContainer, setScrollX, setScrollY, setSelected, setSoundEffectsEnabled, setSystemUiVisibility, setTag, setTag, setTop, setTouchDelegate, setTranslationX, setTranslationY, setVerticalFadingEdgeEnabled, setVerticalScrollBarEnabled, setVerticalScrollbarPosition, setVisibility, setWillNotCacheDrawing, setWillNotDraw, setX, setY, showContextMenu, startActionMode, startAnimation, startDrag, unscheduleDrawable, unscheduleDrawable, willNotCacheDrawing, willNotDraw
 
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 
Methods inherited from interface android.view.ViewParent
createContextMenu, getParent, isLayoutRequested, requestLayout
 

Constructor Detail

SignatureCaptureView

public SignatureCaptureView(android.content.Context context)
This constructor is used to construct the CanvasView in the source code.


SignatureCaptureView

public SignatureCaptureView(android.content.Context context,
                            android.util.AttributeSet attrs)
This constructor is called when the SignatureCaptureView is constructed by the XML

Method Detail

getVersionNumber

public static java.lang.String getVersionNumber()
Get the version number

Returns:
version number string

setTraceListener

public void setTraceListener(SignatureCaptureView.ISignatureTraceListener listener)
A method to register the listener that indicates when a Tablet event occurs

Parameters:
listener - The Listener to register
See Also:
SignatureCaptureView.ISignatureTraceListener

setButtonListener

public void setButtonListener(SignatureCaptureView.ISignatureButtonListener listener)
A method to register the listener that indicates when a hosted button is clicked

Parameters:
listener - The Listener to register
See Also:
SignatureCaptureView.ISignatureButtonListener

addBackgroundImg

public boolean addBackgroundImg(android.graphics.Bitmap img)
Add a background to the SignatureCaptureView Add an image to SignatureCaptureView background. The image to scaled to the size of the view.

Parameters:
img - Bitmap to add to background
See Also:
clearBackgroundImg

addBackgroundImg

public boolean addBackgroundImg(android.graphics.Bitmap img,
                                android.graphics.Rect rect)
Add a background to the SignatureCaptureView Add an image to SignatureCaptureView background.

Parameters:
rect - The rectangle that the bitmap will be scaled/translated to fit into
See Also:
clearBackgroundImg

clearBackgroundImg

public void clearBackgroundImg()
Remove background images from view Remove any background images that have been added using addBackgroundImg

See Also:
addBackgroundImg

setBackgroundProvider

public void setBackgroundProvider(SignatureCaptureView.ICaptureViewBackgroundProvider provider)
Set the ICaptureViewBackgroundProvider Implement the ICaptureViewBackgroundProvider interface use this method to set the implementation. SignatureCaptureView calls the set provider when it requires a background to be drawn.

Parameters:
provider - implemented ICaptureViewBackgroundProvider
See Also:
SignatureCaptureView.ICaptureViewBackgroundProvider

addButtons

public boolean addButtons(java.util.List<SignatureCaptureView.ISignatureCaptureButton> buttons)
Add buttons to the signature capture view. The buttons are inserted in a horizontal row in the order they are set in the list. The buttons layout is aligned at the top of the view.

Parameters:
buttons -
Returns:
true if successful

removeButtons

public boolean removeButtons()
Remove buttons to the signature capture view. Remove any buttons that have been added to the view.

Returns:
true if successful

setPen

public boolean setPen(PenSetting pen)
Set the pen

Parameters:
pen - to set

getPen

public PenSetting getPen()
Get the currently selected pen

Returns:
current pen

isEmpty

public boolean isEmpty()
Check if there is a signature captured The signature is not empty if there is at least one point captured

Returns:
true if empty

clear

public void clear()
Clear the captured signature from the screen and TabletTraceCollection


getTabletTraceCollection

public TabletTraceCollection getTabletTraceCollection()
Get the current TabletTraceCollection