// -*- mode: java; c-basic-offset: 2; -*-
// Copyright 2009-2011 Google, All Rights reserved
// Copyright 2011-2012 MIT, All rights reserved
// Released under the Apache License, Version 2.0
// http://www.apache.org/licenses/LICENSE-2.0
package com.google.appinventor.components.runtime;
import com.google.appinventor.components.annotations.SimpleObject;
import com.google.appinventor.components.common.ComponentConstants;
/**
* Interface for Simple components.
*
*/
@SimpleObject
public interface Component {
/**
* Returns the dispatch delegate that is responsible for dispatching events
* for this component.
*/
public HandlesEventDispatching getDispatchDelegate();
/*
* Components asset directory.
*/
public static final String ASSET_DIRECTORY = "component";
/*
* Text alignment constants.
*/
static final int ALIGNMENT_NORMAL = 0;
static final int ALIGNMENT_CENTER = 1;
static final int ALIGNMENT_OPPOSITE = 2;
/*
* Accelerometer sensitivity.
*/
static final int ACCELEROMETER_SENSITIVITY_WEAK = 1;
static final int ACCELEROMETER_SENSITIVITY_MODERATE = 2;
static final int ACCELEROMETER_SENSITIVITY_STRONG = 3;
/*
* Button Styles.
*/
static final int BUTTON_SHAPE_DEFAULT = 0;
static final int BUTTON_SHAPE_ROUNDED = 1;
static final int BUTTON_SHAPE_RECT = 2;
static final int BUTTON_SHAPE_OVAL = 3;
/*
* Color constants.
*/
static final int COLOR_NONE = 0x00FFFFFF;
static final int COLOR_BLACK = 0xFF000000;
static final int COLOR_BLUE = 0xFF0000FF;
static final int COLOR_CYAN = 0xFF00FFFF;
static final int COLOR_DKGRAY = 0xFF444444;
static final int COLOR_GRAY = 0xFF888888;
static final int COLOR_GREEN = 0xFF00FF00;
static final int COLOR_LTGRAY = 0xFFCCCCCC;
static final int COLOR_MAGENTA = 0xFFFF00FF;
static final int COLOR_ORANGE = 0xFFFFC800;
static final int COLOR_PINK = 0xFFFFAFAF;
static final int COLOR_RED = 0xFFFF0000;
static final int COLOR_WHITE = 0xFFFFFFFF;
static final int COLOR_YELLOW = 0xFFFFFF00;
static final int COLOR_DEFAULT = 0x00000000;
static final String DEFAULT_VALUE_COLOR_NONE = "&H00FFFFFF";
static final String DEFAULT_VALUE_COLOR_BLACK = "&HFF000000";
static final String DEFAULT_VALUE_COLOR_BLUE = "&HFF0000FF";
static final String DEFAULT_VALUE_COLOR_CYAN = "&HFF00FFFF";
static final String DEFAULT_VALUE_COLOR_DKGRAY = "&HFF444444";
static final String DEFAULT_VALUE_COLOR_GRAY = "&HFF888888";
static final String DEFAULT_VALUE_COLOR_GREEN = "&HFF00FF00";
static final String DEFAULT_VALUE_COLOR_LTGRAY = "&HFFCCCCCC";
static final String DEFAULT_VALUE_COLOR_MAGENTA = "&HFFFF00FF";
static final String DEFAULT_VALUE_COLOR_ORANGE = "&HFFFFC800";
static final String DEFAULT_VALUE_COLOR_PINK = "&HFFFFAFAF";
static final String DEFAULT_VALUE_COLOR_RED = "&HFFFF0000";
static final String DEFAULT_VALUE_COLOR_WHITE = "&HFFFFFFFF";
static final String DEFAULT_VALUE_COLOR_YELLOW = "&HFFFFFF00";
static final String DEFAULT_VALUE_COLOR_DEFAULT = "&H00000000";
/*
* Font constants.
*/
static final float FONT_DEFAULT_SIZE = 14;
/*
* Layout constants.
*/
static final int LAYOUT_ORIENTATION_HORIZONTAL = ComponentConstants.LAYOUT_ORIENTATION_HORIZONTAL;
static final int LAYOUT_ORIENTATION_VERTICAL = ComponentConstants.LAYOUT_ORIENTATION_VERTICAL;
/*
* Picture scaling constants.
*/
static final int SCALING_SCALE_PROPORTIONALLY = 0;
static final int SCALING_SCALE_TO_FIT = 1;
/*
* Typeface constants.
*/
static final int TYPEFACE_DEFAULT = 0;
static final int TYPEFACE_SANSSERIF = 1;
static final int TYPEFACE_SERIF = 2;
static final int TYPEFACE_MONOSPACE = 3;
/*
* Length constants (for width and height).
*/
// Note: the values below are duplicated in MockVisibleComponent.java
// If you change them here, change them there!
static final int LENGTH_PREFERRED = -1;
static final int LENGTH_FILL_PARENT = -2;
static final int LENGTH_UNKNOWN = -3;
// If the length is <= -1000 then add 1000 and change the sign to
// get the length is percent of Screen1
static final int LENGTH_PERCENT_TAG = -1000;
/*
* Length constants for toast.
*/
static final int TOAST_LENGTH_SHORT = 0;
static final int TOAST_LENGTH_LONG = 1;
/*
* Screen direction constants.
* Observe that opposite directions have the same magnitude but opposite signs.
*/
static final int DIRECTION_NORTH = 1;
static final int DIRECTION_NORTHEAST = 2;
static final int DIRECTION_EAST = 3;
static final int DIRECTION_SOUTHEAST = 4;
static final int DIRECTION_SOUTH = -1;
static final int DIRECTION_SOUTHWEST = -2;
static final int DIRECTION_WEST = -3;
static final int DIRECTION_NORTHWEST = -4;
// Special values
static final int DIRECTION_NONE = 0;
static final int DIRECTION_MIN = -4;
static final int DIRECTION_MAX = 4;
//Slider defaults for setting MinimumValue and MaximumValue
public static float SLIDER_MIN_VALUE = 10;
public static float SLIDER_MAX_VALUE = 50;
public static float SLIDER_THUMB_VALUE = (SLIDER_MIN_VALUE + SLIDER_MAX_VALUE) / 2.0f;
static final String DEFAULT_VALUE_TEXT_TO_SPEECH_COUNTRY = "";
static final String DEFAULT_VALUE_TEXT_TO_SPEECH_LANGUAGE = "";
}