Merge "image typos in documents fix" into jb-dev
diff --git a/api/16.txt b/api/16.txt
index 70c4032..bc97e81 100644
--- a/api/16.txt
+++ b/api/16.txt
@@ -676,6 +676,7 @@
field public static final int measureAllChildren = 16843018; // 0x101010a
field public static final int measureWithLargestChild = 16843476; // 0x10102d4
field public static final int mediaRouteButtonStyle = 16843693; // 0x10103ad
+ field public static final int mediaRouteTypes = 16843694; // 0x10103ae
field public static final int menuCategory = 16843230; // 0x10101de
field public static final int mimeType = 16842790; // 0x1010026
field public static final int minDate = 16843583; // 0x101033f
@@ -3688,6 +3689,8 @@
ctor public MediaRouteButton(android.content.Context, android.util.AttributeSet);
ctor public MediaRouteButton(android.content.Context, android.util.AttributeSet, int);
method public int getRouteTypes();
+ method public void onAttachedToWindow();
+ method public void onDetachedFromWindow();
method public void setExtendedSettingsClickListener(android.view.View.OnClickListener);
method public void setRouteTypes(int);
method public void showDialog();
@@ -3759,6 +3762,7 @@
public static class Notification.BigPictureStyle extends android.app.Notification.Style {
ctor public Notification.BigPictureStyle();
ctor public Notification.BigPictureStyle(android.app.Notification.Builder);
+ method public android.app.Notification.BigPictureStyle bigLargeIcon(android.graphics.Bitmap);
method public android.app.Notification.BigPictureStyle bigPicture(android.graphics.Bitmap);
method public android.app.Notification build();
method public android.app.Notification.BigPictureStyle setBigContentTitle(java.lang.CharSequence);
@@ -5827,7 +5831,6 @@
field public static final int FLAG_ACTIVITY_CLEAR_TASK = 32768; // 0x8000
field public static final int FLAG_ACTIVITY_CLEAR_TOP = 67108864; // 0x4000000
field public static final int FLAG_ACTIVITY_CLEAR_WHEN_TASK_RESET = 524288; // 0x80000
- field public static final int FLAG_ACTIVITY_CLOSE_SYSTEM_DIALOGS = 8192; // 0x2000
field public static final int FLAG_ACTIVITY_EXCLUDE_FROM_RECENTS = 8388608; // 0x800000
field public static final int FLAG_ACTIVITY_FORWARD_RESULT = 33554432; // 0x2000000
field public static final int FLAG_ACTIVITY_LAUNCHED_FROM_HISTORY = 1048576; // 0x100000
@@ -11537,6 +11540,7 @@
method public abstract void onRouteSelected(android.media.MediaRouter, int, android.media.MediaRouter.RouteInfo);
method public abstract void onRouteUngrouped(android.media.MediaRouter, android.media.MediaRouter.RouteInfo, android.media.MediaRouter.RouteGroup);
method public abstract void onRouteUnselected(android.media.MediaRouter, int, android.media.MediaRouter.RouteInfo);
+ method public abstract void onRouteVolumeChanged(android.media.MediaRouter, android.media.MediaRouter.RouteInfo);
}
public static class MediaRouter.RouteCategory {
@@ -11564,10 +11568,21 @@
method public android.graphics.drawable.Drawable getIconDrawable();
method public java.lang.CharSequence getName();
method public java.lang.CharSequence getName(android.content.Context);
+ method public int getPlaybackStream();
+ method public int getPlaybackType();
method public java.lang.CharSequence getStatus();
method public int getSupportedTypes();
method public java.lang.Object getTag();
+ method public int getVolume();
+ method public int getVolumeHandling();
+ method public int getVolumeMax();
+ method public void requestSetVolume(int);
+ method public void requestUpdateVolume(int);
method public void setTag(java.lang.Object);
+ field public static final int PLAYBACK_TYPE_LOCAL = 0; // 0x0
+ field public static final int PLAYBACK_TYPE_REMOTE = 1; // 0x1
+ field public static final int PLAYBACK_VOLUME_FIXED = 0; // 0x0
+ field public static final int PLAYBACK_VOLUME_VARIABLE = 1; // 0x1
}
public static class MediaRouter.SimpleCallback extends android.media.MediaRouter.Callback {
@@ -11579,15 +11594,29 @@
method public void onRouteSelected(android.media.MediaRouter, int, android.media.MediaRouter.RouteInfo);
method public void onRouteUngrouped(android.media.MediaRouter, android.media.MediaRouter.RouteInfo, android.media.MediaRouter.RouteGroup);
method public void onRouteUnselected(android.media.MediaRouter, int, android.media.MediaRouter.RouteInfo);
+ method public void onRouteVolumeChanged(android.media.MediaRouter, android.media.MediaRouter.RouteInfo);
}
public static class MediaRouter.UserRouteInfo extends android.media.MediaRouter.RouteInfo {
+ method public android.media.RemoteControlClient getRemoteControlClient();
method public void setIconDrawable(android.graphics.drawable.Drawable);
method public void setIconResource(int);
method public void setName(java.lang.CharSequence);
method public void setName(int);
+ method public void setPlaybackStream(int);
+ method public void setPlaybackType(int);
method public void setRemoteControlClient(android.media.RemoteControlClient);
method public void setStatus(java.lang.CharSequence);
+ method public void setVolume(int);
+ method public void setVolumeCallback(android.media.MediaRouter.VolumeCallback);
+ method public void setVolumeHandling(int);
+ method public void setVolumeMax(int);
+ }
+
+ public static abstract class MediaRouter.VolumeCallback {
+ ctor public MediaRouter.VolumeCallback();
+ method public abstract void onVolumeSetRequest(android.media.MediaRouter.RouteInfo, int);
+ method public abstract void onVolumeUpdateRequest(android.media.MediaRouter.RouteInfo, int);
}
public class MediaScannerConnection implements android.content.ServiceConnection {
@@ -22816,10 +22845,18 @@
public abstract class ActionProvider {
ctor public ActionProvider(android.content.Context);
method public boolean hasSubMenu();
+ method public boolean isVisible();
method public abstract deprecated android.view.View onCreateActionView();
method public android.view.View onCreateActionView(android.view.MenuItem);
method public boolean onPerformDefaultAction();
method public void onPrepareSubMenu(android.view.SubMenu);
+ method public boolean overridesItemVisibility();
+ method public void refreshVisibility();
+ method public void setVisibilityListener(android.view.ActionProvider.VisibilityListener);
+ }
+
+ public static abstract interface ActionProvider.VisibilityListener {
+ method public abstract void onActionProviderVisibilityChanged(boolean);
}
public final class Choreographer {
@@ -28146,8 +28183,11 @@
method public void setString(int, java.lang.String, java.lang.String);
method public void setTextColor(int, int);
method public void setTextViewCompoundDrawables(int, int, int, int, int);
+ method public void setTextViewCompoundDrawablesRelative(int, int, int, int, int);
method public void setTextViewText(int, java.lang.CharSequence);
+ method public void setTextViewTextSize(int, int, float);
method public void setUri(int, java.lang.String, android.net.Uri);
+ method public void setViewPadding(int, int, int, int, int);
method public void setViewVisibility(int, int);
method public void showNext(int);
method public void showPrevious(int);
diff --git a/api/current.txt b/api/current.txt
index f5cced9..bc97e81 100644
--- a/api/current.txt
+++ b/api/current.txt
@@ -3689,6 +3689,8 @@
ctor public MediaRouteButton(android.content.Context, android.util.AttributeSet);
ctor public MediaRouteButton(android.content.Context, android.util.AttributeSet, int);
method public int getRouteTypes();
+ method public void onAttachedToWindow();
+ method public void onDetachedFromWindow();
method public void setExtendedSettingsClickListener(android.view.View.OnClickListener);
method public void setRouteTypes(int);
method public void showDialog();
@@ -5829,7 +5831,6 @@
field public static final int FLAG_ACTIVITY_CLEAR_TASK = 32768; // 0x8000
field public static final int FLAG_ACTIVITY_CLEAR_TOP = 67108864; // 0x4000000
field public static final int FLAG_ACTIVITY_CLEAR_WHEN_TASK_RESET = 524288; // 0x80000
- field public static final int FLAG_ACTIVITY_CLOSE_SYSTEM_DIALOGS = 8192; // 0x2000
field public static final int FLAG_ACTIVITY_EXCLUDE_FROM_RECENTS = 8388608; // 0x800000
field public static final int FLAG_ACTIVITY_FORWARD_RESULT = 33554432; // 0x2000000
field public static final int FLAG_ACTIVITY_LAUNCHED_FROM_HISTORY = 1048576; // 0x100000
diff --git a/core/java/android/app/ActivityManagerNative.java b/core/java/android/app/ActivityManagerNative.java
index 2ed93f4..e12fa19 100644
--- a/core/java/android/app/ActivityManagerNative.java
+++ b/core/java/android/app/ActivityManagerNative.java
@@ -1617,6 +1617,16 @@
return true;
}
+ case IS_INTENT_SENDER_AN_ACTIVITY_TRANSACTION: {
+ data.enforceInterface(IActivityManager.descriptor);
+ IIntentSender r = IIntentSender.Stub.asInterface(
+ data.readStrongBinder());
+ boolean res = isIntentSenderAnActivity(r);
+ reply.writeNoException();
+ reply.writeInt(res ? 1 : 0);
+ return true;
+ }
+
case UPDATE_PERSISTENT_CONFIGURATION_TRANSACTION: {
data.enforceInterface(IActivityManager.descriptor);
Configuration config = Configuration.CREATOR.createFromParcel(data);
@@ -3753,6 +3763,19 @@
return res;
}
+ public boolean isIntentSenderAnActivity(IIntentSender sender) throws RemoteException {
+ Parcel data = Parcel.obtain();
+ Parcel reply = Parcel.obtain();
+ data.writeInterfaceToken(IActivityManager.descriptor);
+ data.writeStrongBinder(sender.asBinder());
+ mRemote.transact(IS_INTENT_SENDER_AN_ACTIVITY_TRANSACTION, data, reply, 0);
+ reply.readException();
+ boolean res = reply.readInt() != 0;
+ data.recycle();
+ reply.recycle();
+ return res;
+ }
+
public void updatePersistentConfiguration(Configuration values) throws RemoteException
{
Parcel data = Parcel.obtain();
diff --git a/core/java/android/app/IActivityManager.java b/core/java/android/app/IActivityManager.java
index 609a047..031e39b 100644
--- a/core/java/android/app/IActivityManager.java
+++ b/core/java/android/app/IActivityManager.java
@@ -338,6 +338,8 @@
public boolean isIntentSenderTargetedToPackage(IIntentSender sender) throws RemoteException;
+ public boolean isIntentSenderAnActivity(IIntentSender sender) throws RemoteException;
+
public void updatePersistentConfiguration(Configuration values) throws RemoteException;
public long[] getProcessPss(int[] pids) throws RemoteException;
@@ -603,4 +605,5 @@
int FINISH_ACTIVITY_AFFINITY_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+148;
int GET_LAUNCHED_FROM_UID_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+149;
int UNSTABLE_PROVIDER_DIED_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+150;
+ int IS_INTENT_SENDER_AN_ACTIVITY_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+151;
}
diff --git a/core/java/android/app/PendingIntent.java b/core/java/android/app/PendingIntent.java
index aa366b6..8adc8a2 100644
--- a/core/java/android/app/PendingIntent.java
+++ b/core/java/android/app/PendingIntent.java
@@ -631,6 +631,20 @@
}
/**
+ * @hide
+ * Check whether this PendingIntent will launch an Activity.
+ */
+ public boolean isActivity() {
+ try {
+ return ActivityManagerNative.getDefault()
+ .isIntentSenderAnActivity(mTarget);
+ } catch (RemoteException e) {
+ // Should never happen.
+ return false;
+ }
+ }
+
+ /**
* Comparison operator on two PendingIntent objects, such that true
* is returned then they both represent the same operation from the
* same package. This allows you to use {@link #getActivity},
diff --git a/core/java/android/appwidget/AppWidgetManager.java b/core/java/android/appwidget/AppWidgetManager.java
index 3aa5181..810e790 100644
--- a/core/java/android/appwidget/AppWidgetManager.java
+++ b/core/java/android/appwidget/AppWidgetManager.java
@@ -323,7 +323,7 @@
*
* <p>
* The total Bitmap memory used by the RemoteViews object cannot exceed that required to
- * fill the screen once, ie. (screen width x screen height x 4) bytes.
+ * fill the screen 1.5 times, ie. (screen width x screen height x 4 x 1.5) bytes.
*
* @param appWidgetIds The AppWidget instances for which to set the RemoteViews.
* @param views The RemoteViews object to show.
@@ -391,7 +391,7 @@
*
* <p>
* The total Bitmap memory used by the RemoteViews object cannot exceed that required to
- * fill the screen once, ie. (screen width x screen height x 4) bytes.
+ * fill the screen 1.5 times, ie. (screen width x screen height x 4 x 1.5) bytes.
*
* @param appWidgetId The AppWidget instance for which to set the RemoteViews.
* @param views The RemoteViews object to show.
diff --git a/core/java/android/content/Intent.java b/core/java/android/content/Intent.java
index 76dfac4..3fdf451 100644
--- a/core/java/android/content/Intent.java
+++ b/core/java/android/content/Intent.java
@@ -3105,17 +3105,6 @@
*/
public static final int FLAG_ACTIVITY_TASK_ON_HOME = 0X00004000;
/**
- * If set in an Intent passed to {@link Context#startActivity Context.startActivity()},
- * upon starting the activity the system will also clear any system dialogs that
- * are currently shown. This is intended primarily for any actions that are
- * associated with buttons in a notification: tapping on the button to launch
- * the activity needs to also dismiss the notification window (which is one
- * of the system dialogs); setting this flag on the Intent associated with that
- * action will ensure that and other system dialogs are dismissed so that the
- * user arrives in the new activity.
- */
- public static final int FLAG_ACTIVITY_CLOSE_SYSTEM_DIALOGS = 0X00002000;
- /**
* If set, when sending a broadcast only registered receivers will be
* called -- no BroadcastReceiver components will be launched.
*/
diff --git a/core/java/android/nfc/NfcAdapter.java b/core/java/android/nfc/NfcAdapter.java
index 8407380..4baceed 100644
--- a/core/java/android/nfc/NfcAdapter.java
+++ b/core/java/android/nfc/NfcAdapter.java
@@ -82,17 +82,16 @@
* for this action and specify the desired tech types in a
* manifest <code>meta-data</code> entry. Here is an example manfiest entry:
* <pre>
- * <activity android:name=".nfc.TechFilter" android:label="NFC/TechFilter">
- * <!-- Add a technology filter -->
- * <intent-filter>
- * <action android:name="android.nfc.action.TECH_DISCOVERED" />
- * </intent-filter>
+ * <activity android:name=".nfc.TechFilter" android:label="NFC/TechFilter">
+ * <!-- Add a technology filter -->
+ * <intent-filter>
+ * <action android:name="android.nfc.action.TECH_DISCOVERED" />
+ * </intent-filter>
*
- * <meta-data android:name="android.nfc.action.TECH_DISCOVERED"
- * android:resource="@xml/filter_nfc"
- * />
- * </activity>
- * </pre>
+ * <meta-data android:name="android.nfc.action.TECH_DISCOVERED"
+ * android:resource="@xml/filter_nfc"
+ * />
+ * </activity></pre>
*
* <p>The meta-data XML file should contain one or more <code>tech-list</code> entries
* each consisting or one or more <code>tech</code> entries. The <code>tech</code> entries refer
@@ -121,8 +120,7 @@
* <tech>android.nfc.tech.MifareClassic</tech>
* <tech>android.nfc.tech.Ndef</tech>
* </tech-list>
- * </resources>
- * </pre>
+ * </resources></pre>
*
* <p>This intent is started after {@link #ACTION_NDEF_DISCOVERED} and before
* {@link #ACTION_TAG_DISCOVERED}. If any activities respond to {@link #ACTION_NDEF_DISCOVERED}
@@ -385,10 +383,9 @@
* Most Android devices will only have one NFC Adapter (NFC Controller).
* <p>
* This helper is the equivalent of:
- * <pre>{@code
+ * <pre>
* NfcManager manager = (NfcManager) context.getSystemService(Context.NFC_SERVICE);
- * NfcAdapter adapter = manager.getDefaultAdapter();
- * }</pre>
+ * NfcAdapter adapter = manager.getDefaultAdapter();</pre>
* @param context the calling application's context
*
* @return the default NFC adapter, or null if no NFC adapter exists
@@ -623,8 +620,7 @@
* NfcAdapter nfcAdapter = NfcAdapter.getDefaultAdapter(this);
* if (nfcAdapter == null) return; // NFC not available on this device
* nfcAdapter.setBeamPushUris(new Uri[] {uri1, uri2}, this);
- * }
- * </pre>
+ * }</pre>
* And that is it. Only one call per activity is necessary. The Android
* OS will automatically release its references to the Uri(s) and the
* Activity object when it is destroyed if you follow this pattern.
@@ -704,8 +700,7 @@
* NfcAdapter nfcAdapter = NfcAdapter.getDefaultAdapter(this);
* if (nfcAdapter == null) return; // NFC not available on this device
* nfcAdapter.setBeamPushUrisCallback(callback, this);
- * }
- * </pre>
+ * }</pre>
* And that is it. Only one call per activity is necessary. The Android
* OS will automatically release its references to the Uri(s) and the
* Activity object when it is destroyed if you follow this pattern.
@@ -758,14 +753,13 @@
*
* <p>If you want to prevent the Android OS from sending default NDEF
* messages completely (for all activities), you can include a
- * <code><meta-data></code> element inside the <code><application></code>
+ * {@code <meta-data>} element inside the {@code <application>}
* element of your AndroidManifest.xml file, like this:
- * <pre>{@code
- * <application ...>
- * <meta-data android:name="android.nfc.disable_beam_default"
- * android:value="true" />
- * </application>
- * }</pre>
+ * <pre>
+ * <application ...>
+ * <meta-data android:name="android.nfc.disable_beam_default"
+ * android:value="true" />
+ * </application></pre>
*
* <p>The API allows for multiple activities to be specified at a time,
* but it is strongly recommended to just register one at a time,
@@ -776,8 +770,7 @@
* NfcAdapter nfcAdapter = NfcAdapter.getDefaultAdapter(this);
* if (nfcAdapter == null) return; // NFC not available on this device
* nfcAdapter.setNdefPushMessage(ndefMessage, this);
- * }
- * </pre>
+ * }</pre>
* And that is it. Only one call per activity is necessary. The Android
* OS will automatically release its references to the NDEF message and the
* Activity object when it is destroyed if you follow this pattern.
@@ -857,14 +850,13 @@
*
* <p>If you want to prevent the Android OS from sending default NDEF
* messages completely (for all activities), you can include a
- * <code><meta-data></code> element inside the <code><application></code>
+ * {@code <meta-data>} element inside the {@code <application>}
* element of your AndroidManifest.xml file, like this:
- * <pre>{@code
- * <application ...>
- * <meta-data android:name="android.nfc.disable_beam_default"
- * android:value="true" />
- * </application>
- * }</pre>
+ * <pre>
+ * <application ...>
+ * <meta-data android:name="android.nfc.disable_beam_default"
+ * android:value="true" />
+ * </application></pre>
*
* <p>The API allows for multiple activities to be specified at a time,
* but it is strongly recommended to just register one at a time,
@@ -875,8 +867,7 @@
* NfcAdapter nfcAdapter = NfcAdapter.getDefaultAdapter(this);
* if (nfcAdapter == null) return; // NFC not available on this device
* nfcAdapter.setNdefPushMessageCallback(callback, this);
- * }
- * </pre>
+ * }</pre>
* And that is it. Only one call per activity is necessary. The Android
* OS will automatically release its references to the callback and the
* Activity object when it is destroyed if you follow this pattern.
@@ -941,8 +932,7 @@
* NfcAdapter nfcAdapter = NfcAdapter.getDefaultAdapter(this);
* if (nfcAdapter == null) return; // NFC not available on this device
* nfcAdapter.setOnNdefPushCompleteCallback(callback, this);
- * }
- * </pre>
+ * }</pre>
* And that is it. Only one call per activity is necessary. The Android
* OS will automatically release its references to the callback and the
* Activity object when it is destroyed if you follow this pattern.
@@ -1190,8 +1180,7 @@
* } else if (!nfcAdapter.isNdefPushEnabled()) {
* startActivity(new Intent(Settings.ACTION_NFCSHARING_SETTINGS));
* }
- * }
- * </pre>
+ * }</pre>
*
* @see android.provider.Settings#ACTION_NFCSHARING_SETTINGS
* @return true if NDEF Push feature is enabled
diff --git a/core/java/android/widget/RemoteViews.java b/core/java/android/widget/RemoteViews.java
index beb87cd..e29000d 100644
--- a/core/java/android/widget/RemoteViews.java
+++ b/core/java/android/widget/RemoteViews.java
@@ -125,7 +125,10 @@
* setting on click extras and setting on click pending intents. The former is enabled,
* and the latter disabled when this flag is true.
*/
- private boolean mIsWidgetCollectionChild = false;
+ private boolean mIsWidgetCollectionChild = false;
+
+ private static final OnClickHandler DEFAULT_ON_CLICK_HANDLER = new OnClickHandler();
+ private OnClickHandler mOnClickHandler = DEFAULT_ON_CLICK_HANDLER;
/**
* This annotation indicates that a subclass of View is alllowed to be used
@@ -149,29 +152,9 @@
}
}
- /**
- * Base class for all actions that can be performed on an
- * inflated view.
- *
- * SUBCLASSES MUST BE IMMUTABLE SO CLONE WORKS!!!!!
- */
- private abstract static class Action implements Parcelable {
- public abstract void apply(View root, ViewGroup rootParent) throws ActionException;
-
- public int describeContents() {
- return 0;
- }
-
- /**
- * Overridden by each class to report on it's own memory usage
- */
- public void updateMemoryUsageEstimate(MemoryUsageCounter counter) {
- // We currently only calculate Bitmap memory usage, so by default, don't do anything
- // here
- return;
- }
-
- protected boolean startIntentSafely(View view, PendingIntent pendingIntent,
+ /** @hide */
+ public static class OnClickHandler {
+ public boolean onClickHandler(View view, PendingIntent pendingIntent,
Intent fillInIntent) {
try {
// TODO: Unregister this handler if PendingIntent.FLAG_ONE_SHOT?
@@ -193,6 +176,30 @@
}
return true;
}
+ }
+
+ /**
+ * Base class for all actions that can be performed on an
+ * inflated view.
+ *
+ * SUBCLASSES MUST BE IMMUTABLE SO CLONE WORKS!!!!!
+ */
+ private abstract static class Action implements Parcelable {
+ public abstract void apply(RemoteViews owner, View root,
+ ViewGroup rootParent) throws ActionException;
+
+ public int describeContents() {
+ return 0;
+ }
+
+ /**
+ * Overridden by each class to report on it's own memory usage
+ */
+ public void updateMemoryUsageEstimate(MemoryUsageCounter counter) {
+ // We currently only calculate Bitmap memory usage, so by default, don't do anything
+ // here
+ return;
+ }
public void setBitmapCache(BitmapCache bitmapCache) {
// Do nothing
@@ -222,7 +229,7 @@
}
@Override
- public void apply(View root, ViewGroup rootParent) {
+ public void apply(RemoteViews owner, View root, ViewGroup rootParent) {
final View view = root.findViewById(viewId);
if (!(view instanceof AdapterView<?>)) return;
@@ -253,7 +260,7 @@
}
@Override
- public void apply(View root, ViewGroup rootParent) {
+ public void apply(RemoteViews owner, View root, ViewGroup rootParent) {
final View target = root.findViewById(viewId);
if (target == null) return;
@@ -265,6 +272,7 @@
if (target == root) {
target.setTagInternal(com.android.internal.R.id.fillInIntent, fillInIntent);
} else if (target != null && fillInIntent != null) {
+ final OnClickHandler clicker = owner.mOnClickHandler;
OnClickListener listener = new OnClickListener() {
public void onClick(View v) {
// Insure that this view is a child of an AdapterView
@@ -302,7 +310,7 @@
rect.bottom = (int) ((pos[1] + v.getHeight()) * appScale + 0.5f);
fillInIntent.setSourceBounds(rect);
- startIntentSafely(v, pendingIntent, fillInIntent);
+ clicker.onClickHandler(v, pendingIntent, fillInIntent);
}
};
@@ -334,13 +342,14 @@
}
@Override
- public void apply(View root, ViewGroup rootParent) {
+ public void apply(RemoteViews owner, View root, ViewGroup rootParent) {
final View target = root.findViewById(viewId);
if (target == null) return;
// If the view isn't an AdapterView, setting a PendingIntent template doesn't make sense
if (target instanceof AdapterView<?>) {
AdapterView<?> av = (AdapterView<?>) target;
+ final OnClickHandler clicker = owner.mOnClickHandler;
// The PendingIntent template is stored in the view's tag.
OnItemClickListener listener = new OnItemClickListener() {
public void onItemClick(AdapterView<?> parent, View view,
@@ -380,7 +389,7 @@
final Intent intent = new Intent();
intent.setSourceBounds(rect);
- startIntentSafely(view, pendingIntentTemplate, fillInIntent);
+ clicker.onClickHandler(view, pendingIntentTemplate, fillInIntent);
}
}
};
@@ -417,7 +426,7 @@
}
@Override
- public void apply(View root, ViewGroup rootParent) {
+ public void apply(RemoteViews owner, View root, ViewGroup rootParent) {
final View target = root.findViewById(viewId);
if (target == null) return;
@@ -485,7 +494,7 @@
}
@Override
- public void apply(View root, ViewGroup rootParent) {
+ public void apply(RemoteViews owner, View root, ViewGroup rootParent) {
final View target = root.findViewById(viewId);
if (target == null) return;
@@ -506,6 +515,7 @@
if (target != null) {
// If the pendingIntent is null, we clear the onClickListener
+ final OnClickHandler clicker = owner.mOnClickHandler;
OnClickListener listener = null;
if (pendingIntent != null) {
listener = new OnClickListener() {
@@ -525,7 +535,7 @@
final Intent intent = new Intent();
intent.setSourceBounds(rect);
- startIntentSafely(v, pendingIntent, intent);
+ clicker.onClickHandler(v, pendingIntent, intent);
}
};
}
@@ -592,7 +602,7 @@
}
@Override
- public void apply(View root, ViewGroup rootParent) {
+ public void apply(RemoteViews owner, View root, ViewGroup rootParent) {
final View target = root.findViewById(viewId);
if (target == null) return;
@@ -652,7 +662,7 @@
}
@Override
- public void apply(View root, ViewGroup rootParent) {
+ public void apply(RemoteViews owner, View root, ViewGroup rootParent) {
final View view = root.findViewById(viewId);
if (view == null) return;
@@ -776,10 +786,11 @@
}
@Override
- public void apply(View root, ViewGroup rootParent) throws ActionException {
+ public void apply(RemoteViews owner, View root,
+ ViewGroup rootParent) throws ActionException {
ReflectionAction ra = new ReflectionAction(viewId, methodName, ReflectionAction.BITMAP,
bitmap);
- ra.apply(root, rootParent);
+ ra.apply(owner, root, rootParent);
}
@Override
@@ -995,7 +1006,7 @@
}
@Override
- public void apply(View root, ViewGroup rootParent) {
+ public void apply(RemoteViews owner, View root, ViewGroup rootParent) {
final View view = root.findViewById(viewId);
if (view == null) return;
@@ -1097,13 +1108,13 @@
}
@Override
- public void apply(View root, ViewGroup rootParent) {
+ public void apply(RemoteViews owner, View root, ViewGroup rootParent) {
final Context context = root.getContext();
final ViewGroup target = (ViewGroup) root.findViewById(viewId);
if (target == null) return;
if (nestedViews != null) {
// Inflate nested views and add as children
- target.addView(nestedViews.apply(context, target));
+ target.addView(nestedViews.apply(owner, context, target));
} else {
// Clear all children when nested views omitted
target.removeAllViews();
@@ -1164,7 +1175,7 @@
}
@Override
- public void apply(View root, ViewGroup rootParent) {
+ public void apply(RemoteViews owner, View root, ViewGroup rootParent) {
final Context context = root.getContext();
final TextView target = (TextView) root.findViewById(viewId);
if (target == null) return;
@@ -1206,7 +1217,7 @@
}
@Override
- public void apply(View root, ViewGroup rootParent) {
+ public void apply(RemoteViews owner, View root, ViewGroup rootParent) {
final Context context = root.getContext();
final TextView target = (TextView) root.findViewById(viewId);
if (target == null) return;
@@ -1250,7 +1261,7 @@
}
@Override
- public void apply(View root, ViewGroup rootParent) {
+ public void apply(RemoteViews owner, View root, ViewGroup rootParent) {
final Context context = root.getContext();
final View target = root.findViewById(viewId);
if (target == null) return;
@@ -2088,6 +2099,11 @@
return this;
}
+ /** @hide */
+ public void setOnClickHandler(OnClickHandler handler) {
+ mOnClickHandler = handler;
+ }
+
/**
* Inflates the view hierarchy represented by this object and applies
* all of the actions.
@@ -2100,6 +2116,10 @@
* @return The inflated view hierarchy
*/
public View apply(Context context, ViewGroup parent) {
+ return apply(this, context, parent);
+ }
+
+ View apply(RemoteViews owner, Context context, ViewGroup parent) {
RemoteViews rvToApply = getRemoteViewsToApply(context);
View result;
@@ -2114,7 +2134,7 @@
result = inflater.inflate(rvToApply.getLayoutId(), parent, false);
- rvToApply.performApply(result, parent);
+ rvToApply.performApply(owner, result, parent);
return result;
}
@@ -2141,15 +2161,15 @@
}
prepareContext(context);
- rvToApply.performApply(v, (ViewGroup) v.getParent());
+ rvToApply.performApply(this, v, (ViewGroup) v.getParent());
}
- private void performApply(View v, ViewGroup parent) {
+ private void performApply(RemoteViews owner, View v, ViewGroup parent) {
if (mActions != null) {
final int count = mActions.size();
for (int i = 0; i < count; i++) {
Action a = mActions.get(i);
- a.apply(v, parent);
+ a.apply(owner, v, parent);
}
}
}
diff --git a/core/res/res/values-af/strings.xml b/core/res/res/values-af/strings.xml
index d017e79..7c2952e 100644
--- a/core/res/res/values-af/strings.xml
+++ b/core/res/res/values-af/strings.xml
@@ -1282,10 +1282,8 @@
<string name="SetupCallDefault" msgid="5834948469253758575">"Aanvaar oproep?"</string>
<string name="activity_resolver_use_always" msgid="8017770747801494933">"Altyd"</string>
<string name="activity_resolver_use_once" msgid="2404644797149173758">"Net een keer"</string>
- <!-- no translation found for default_audio_route_name (4617053898167127471) -->
- <skip />
- <!-- no translation found for default_audio_route_name (4239291273420140123) -->
- <skip />
+ <string name="default_audio_route_name" product="tablet" msgid="4617053898167127471">"Tablet"</string>
+ <string name="default_audio_route_name" product="default" msgid="4239291273420140123">"Foon"</string>
<string name="default_audio_route_name_headphones" msgid="8119971843803439110">"Oorfone"</string>
<string name="default_audio_route_name_dock_speakers" msgid="6240602982276591864">"Dokluidsprekers"</string>
<string name="default_audio_route_name_hdmi" msgid="7986404173839007682">"HDMI-klank"</string>
diff --git a/core/res/res/values-am/strings.xml b/core/res/res/values-am/strings.xml
index d00f90cb9..f0e96ba 100644
--- a/core/res/res/values-am/strings.xml
+++ b/core/res/res/values-am/strings.xml
@@ -1282,10 +1282,8 @@
<string name="SetupCallDefault" msgid="5834948469253758575">"ጥሪ ተቀበል?"</string>
<string name="activity_resolver_use_always" msgid="8017770747801494933">"ዘወትር"</string>
<string name="activity_resolver_use_once" msgid="2404644797149173758">"አንዴ ብቻ"</string>
- <!-- no translation found for default_audio_route_name (4617053898167127471) -->
- <skip />
- <!-- no translation found for default_audio_route_name (4239291273420140123) -->
- <skip />
+ <string name="default_audio_route_name" product="tablet" msgid="4617053898167127471">"ጡባዊ ተኮ"</string>
+ <string name="default_audio_route_name" product="default" msgid="4239291273420140123">"ስልክ"</string>
<string name="default_audio_route_name_headphones" msgid="8119971843803439110">"የጆሮ ማዳመጫዎች"</string>
<string name="default_audio_route_name_dock_speakers" msgid="6240602982276591864">"የትከል ድምፅ ማጉያዎች"</string>
<string name="default_audio_route_name_hdmi" msgid="7986404173839007682">"HDMI ድምጽ"</string>
diff --git a/core/res/res/values-ar/strings.xml b/core/res/res/values-ar/strings.xml
index a6359ac..7a9ad77 100644
--- a/core/res/res/values-ar/strings.xml
+++ b/core/res/res/values-ar/strings.xml
@@ -1282,10 +1282,8 @@
<string name="SetupCallDefault" msgid="5834948469253758575">"هل تريد قبول المكالمة؟"</string>
<string name="activity_resolver_use_always" msgid="8017770747801494933">"دومًا"</string>
<string name="activity_resolver_use_once" msgid="2404644797149173758">"مرة واحدة فقط"</string>
- <!-- no translation found for default_audio_route_name (4617053898167127471) -->
- <skip />
- <!-- no translation found for default_audio_route_name (4239291273420140123) -->
- <skip />
+ <string name="default_audio_route_name" product="tablet" msgid="4617053898167127471">"الجهاز اللوحي"</string>
+ <string name="default_audio_route_name" product="default" msgid="4239291273420140123">"الهاتف"</string>
<string name="default_audio_route_name_headphones" msgid="8119971843803439110">"سماعات رأس"</string>
<string name="default_audio_route_name_dock_speakers" msgid="6240602982276591864">"مكبرات صوت للإرساء"</string>
<string name="default_audio_route_name_hdmi" msgid="7986404173839007682">"صوت HDMI"</string>
diff --git a/core/res/res/values-be/strings.xml b/core/res/res/values-be/strings.xml
index 458d705..21f8896 100644
--- a/core/res/res/values-be/strings.xml
+++ b/core/res/res/values-be/strings.xml
@@ -1282,10 +1282,8 @@
<string name="SetupCallDefault" msgid="5834948469253758575">"Прыняць выклік?"</string>
<string name="activity_resolver_use_always" msgid="8017770747801494933">"Заўсёды"</string>
<string name="activity_resolver_use_once" msgid="2404644797149173758">"Толькі адзін раз"</string>
- <!-- no translation found for default_audio_route_name (4617053898167127471) -->
- <skip />
- <!-- no translation found for default_audio_route_name (4239291273420140123) -->
- <skip />
+ <string name="default_audio_route_name" product="tablet" msgid="4617053898167127471">"Планшэт"</string>
+ <string name="default_audio_route_name" product="default" msgid="4239291273420140123">"Тэлефон"</string>
<string name="default_audio_route_name_headphones" msgid="8119971843803439110">"Навушнікі"</string>
<string name="default_audio_route_name_dock_speakers" msgid="6240602982276591864">"Дынамікі станцыi"</string>
<string name="default_audio_route_name_hdmi" msgid="7986404173839007682">"HDMI-аўдыёвыхад"</string>
diff --git a/core/res/res/values-cs/strings.xml b/core/res/res/values-cs/strings.xml
index 9cf4d46..c026ecd 100644
--- a/core/res/res/values-cs/strings.xml
+++ b/core/res/res/values-cs/strings.xml
@@ -1282,10 +1282,8 @@
<string name="SetupCallDefault" msgid="5834948469253758575">"Přijmout hovor?"</string>
<string name="activity_resolver_use_always" msgid="8017770747801494933">"Vždy"</string>
<string name="activity_resolver_use_once" msgid="2404644797149173758">"Pouze jednou"</string>
- <!-- no translation found for default_audio_route_name (4617053898167127471) -->
- <skip />
- <!-- no translation found for default_audio_route_name (4239291273420140123) -->
- <skip />
+ <string name="default_audio_route_name" product="tablet" msgid="4617053898167127471">"Tablet"</string>
+ <string name="default_audio_route_name" product="default" msgid="4239291273420140123">"Telefon"</string>
<string name="default_audio_route_name_headphones" msgid="8119971843803439110">"Sluchátka"</string>
<string name="default_audio_route_name_dock_speakers" msgid="6240602982276591864">"Reproduktory doku"</string>
<string name="default_audio_route_name_hdmi" msgid="7986404173839007682">"Zvuk HDMI"</string>
diff --git a/core/res/res/values-de/strings.xml b/core/res/res/values-de/strings.xml
index 53cb5fd7..8707f28 100644
--- a/core/res/res/values-de/strings.xml
+++ b/core/res/res/values-de/strings.xml
@@ -1282,10 +1282,8 @@
<string name="SetupCallDefault" msgid="5834948469253758575">"Anruf annehmen?"</string>
<string name="activity_resolver_use_always" msgid="8017770747801494933">"Immer"</string>
<string name="activity_resolver_use_once" msgid="2404644797149173758">"Nur einmal"</string>
- <!-- no translation found for default_audio_route_name (4617053898167127471) -->
- <skip />
- <!-- no translation found for default_audio_route_name (4239291273420140123) -->
- <skip />
+ <string name="default_audio_route_name" product="tablet" msgid="4617053898167127471">"Tablet"</string>
+ <string name="default_audio_route_name" product="default" msgid="4239291273420140123">"Telefon"</string>
<string name="default_audio_route_name_headphones" msgid="8119971843803439110">"Kopfhörer"</string>
<string name="default_audio_route_name_dock_speakers" msgid="6240602982276591864">"Dock-Lautsprecher"</string>
<string name="default_audio_route_name_hdmi" msgid="7986404173839007682">"HDMI-Audio"</string>
diff --git a/core/res/res/values-el/strings.xml b/core/res/res/values-el/strings.xml
index 3811496..223e096 100644
--- a/core/res/res/values-el/strings.xml
+++ b/core/res/res/values-el/strings.xml
@@ -1282,10 +1282,8 @@
<string name="SetupCallDefault" msgid="5834948469253758575">"Αποδοχή κλήσης;"</string>
<string name="activity_resolver_use_always" msgid="8017770747801494933">"Πάντα"</string>
<string name="activity_resolver_use_once" msgid="2404644797149173758">"Μόνο μία φορά"</string>
- <!-- no translation found for default_audio_route_name (4617053898167127471) -->
- <skip />
- <!-- no translation found for default_audio_route_name (4239291273420140123) -->
- <skip />
+ <string name="default_audio_route_name" product="tablet" msgid="4617053898167127471">"Tablet"</string>
+ <string name="default_audio_route_name" product="default" msgid="4239291273420140123">"Τηλέφωνο"</string>
<string name="default_audio_route_name_headphones" msgid="8119971843803439110">"Ακουστικά"</string>
<string name="default_audio_route_name_dock_speakers" msgid="6240602982276591864">"Ηχεία βάσης σύνδεσης"</string>
<string name="default_audio_route_name_hdmi" msgid="7986404173839007682">"Ήχος HDMI"</string>
diff --git a/core/res/res/values-en-rGB/strings.xml b/core/res/res/values-en-rGB/strings.xml
index 68f1c3f..cdacbc4 100644
--- a/core/res/res/values-en-rGB/strings.xml
+++ b/core/res/res/values-en-rGB/strings.xml
@@ -1282,10 +1282,8 @@
<string name="SetupCallDefault" msgid="5834948469253758575">"Accept call?"</string>
<string name="activity_resolver_use_always" msgid="8017770747801494933">"Always"</string>
<string name="activity_resolver_use_once" msgid="2404644797149173758">"Just once"</string>
- <!-- no translation found for default_audio_route_name (4617053898167127471) -->
- <skip />
- <!-- no translation found for default_audio_route_name (4239291273420140123) -->
- <skip />
+ <string name="default_audio_route_name" product="tablet" msgid="4617053898167127471">"Tablet"</string>
+ <string name="default_audio_route_name" product="default" msgid="4239291273420140123">"Phones"</string>
<string name="default_audio_route_name_headphones" msgid="8119971843803439110">"Headphones"</string>
<string name="default_audio_route_name_dock_speakers" msgid="6240602982276591864">"Dock speakers"</string>
<string name="default_audio_route_name_hdmi" msgid="7986404173839007682">"HDMI audio"</string>
diff --git a/core/res/res/values-es/strings.xml b/core/res/res/values-es/strings.xml
index c6a9b7f..0118067 100644
--- a/core/res/res/values-es/strings.xml
+++ b/core/res/res/values-es/strings.xml
@@ -1282,10 +1282,8 @@
<string name="SetupCallDefault" msgid="5834948469253758575">"¿Aceptar la llamada?"</string>
<string name="activity_resolver_use_always" msgid="8017770747801494933">"Siempre"</string>
<string name="activity_resolver_use_once" msgid="2404644797149173758">"Solo una vez"</string>
- <!-- no translation found for default_audio_route_name (4617053898167127471) -->
- <skip />
- <!-- no translation found for default_audio_route_name (4239291273420140123) -->
- <skip />
+ <string name="default_audio_route_name" product="tablet" msgid="4617053898167127471">"Tablet"</string>
+ <string name="default_audio_route_name" product="default" msgid="4239291273420140123">"Teléfono"</string>
<string name="default_audio_route_name_headphones" msgid="8119971843803439110">"Auriculares"</string>
<string name="default_audio_route_name_dock_speakers" msgid="6240602982276591864">"Altavoces del conector"</string>
<string name="default_audio_route_name_hdmi" msgid="7986404173839007682">"Audio HDMI"</string>
diff --git a/core/res/res/values-et/strings.xml b/core/res/res/values-et/strings.xml
index df75310..c887a41 100644
--- a/core/res/res/values-et/strings.xml
+++ b/core/res/res/values-et/strings.xml
@@ -1282,10 +1282,8 @@
<string name="SetupCallDefault" msgid="5834948469253758575">"Kas vastata kõnele?"</string>
<string name="activity_resolver_use_always" msgid="8017770747801494933">"Alati"</string>
<string name="activity_resolver_use_once" msgid="2404644797149173758">"Ainult üks kord"</string>
- <!-- no translation found for default_audio_route_name (4617053898167127471) -->
- <skip />
- <!-- no translation found for default_audio_route_name (4239291273420140123) -->
- <skip />
+ <string name="default_audio_route_name" product="tablet" msgid="4617053898167127471">"Tahvelarvuti"</string>
+ <string name="default_audio_route_name" product="default" msgid="4239291273420140123">"Telefon"</string>
<string name="default_audio_route_name_headphones" msgid="8119971843803439110">"Kõrvaklapid"</string>
<string name="default_audio_route_name_dock_speakers" msgid="6240602982276591864">"Doki kõlarid"</string>
<string name="default_audio_route_name_hdmi" msgid="7986404173839007682">"HDMI heli"</string>
diff --git a/core/res/res/values-fa/strings.xml b/core/res/res/values-fa/strings.xml
index 503f790..fc0a9f9 100644
--- a/core/res/res/values-fa/strings.xml
+++ b/core/res/res/values-fa/strings.xml
@@ -1282,10 +1282,8 @@
<string name="SetupCallDefault" msgid="5834948469253758575">"تماس را میپذیرید؟"</string>
<string name="activity_resolver_use_always" msgid="8017770747801494933">"همیشه"</string>
<string name="activity_resolver_use_once" msgid="2404644797149173758">"فقط یک بار"</string>
- <!-- no translation found for default_audio_route_name (4617053898167127471) -->
- <skip />
- <!-- no translation found for default_audio_route_name (4239291273420140123) -->
- <skip />
+ <string name="default_audio_route_name" product="tablet" msgid="4617053898167127471">"رایانه لوحی"</string>
+ <string name="default_audio_route_name" product="default" msgid="4239291273420140123">"تلفن"</string>
<string name="default_audio_route_name_headphones" msgid="8119971843803439110">"هدفونها"</string>
<string name="default_audio_route_name_dock_speakers" msgid="6240602982276591864">"بلندگوهای جایگاه اتصال"</string>
<string name="default_audio_route_name_hdmi" msgid="7986404173839007682">"صدای HDMI"</string>
diff --git a/core/res/res/values-fr/strings.xml b/core/res/res/values-fr/strings.xml
index aa716ae..e000f93 100644
--- a/core/res/res/values-fr/strings.xml
+++ b/core/res/res/values-fr/strings.xml
@@ -1282,10 +1282,8 @@
<string name="SetupCallDefault" msgid="5834948469253758575">"Prendre l\'appel ?"</string>
<string name="activity_resolver_use_always" msgid="8017770747801494933">"Toujours"</string>
<string name="activity_resolver_use_once" msgid="2404644797149173758">"Une seule fois"</string>
- <!-- no translation found for default_audio_route_name (4617053898167127471) -->
- <skip />
- <!-- no translation found for default_audio_route_name (4239291273420140123) -->
- <skip />
+ <string name="default_audio_route_name" product="tablet" msgid="4617053898167127471">"Tablette"</string>
+ <string name="default_audio_route_name" product="default" msgid="4239291273420140123">"Téléphone"</string>
<string name="default_audio_route_name_headphones" msgid="8119971843803439110">"Écouteurs"</string>
<string name="default_audio_route_name_dock_speakers" msgid="6240602982276591864">"Haut-parleurs de la station d\'accueil"</string>
<string name="default_audio_route_name_hdmi" msgid="7986404173839007682">"Audio HDMI"</string>
diff --git a/core/res/res/values-hi/strings.xml b/core/res/res/values-hi/strings.xml
index b4f18f6..6a43298 100644
--- a/core/res/res/values-hi/strings.xml
+++ b/core/res/res/values-hi/strings.xml
@@ -1282,10 +1282,8 @@
<string name="SetupCallDefault" msgid="5834948469253758575">"कॉल स्वीकार करें?"</string>
<string name="activity_resolver_use_always" msgid="8017770747801494933">"हमेशा"</string>
<string name="activity_resolver_use_once" msgid="2404644797149173758">"केवल एक बार"</string>
- <!-- no translation found for default_audio_route_name (4617053898167127471) -->
- <skip />
- <!-- no translation found for default_audio_route_name (4239291273420140123) -->
- <skip />
+ <string name="default_audio_route_name" product="tablet" msgid="4617053898167127471">"टेबलेट"</string>
+ <string name="default_audio_route_name" product="default" msgid="4239291273420140123">"फ़ोन"</string>
<string name="default_audio_route_name_headphones" msgid="8119971843803439110">"हेडफ़ोन"</string>
<string name="default_audio_route_name_dock_speakers" msgid="6240602982276591864">"डॉक स्पीकर"</string>
<string name="default_audio_route_name_hdmi" msgid="7986404173839007682">"HDMI ऑडियो"</string>
diff --git a/core/res/res/values-hr/strings.xml b/core/res/res/values-hr/strings.xml
index e19e8ea..a33e03e 100644
--- a/core/res/res/values-hr/strings.xml
+++ b/core/res/res/values-hr/strings.xml
@@ -1282,10 +1282,8 @@
<string name="SetupCallDefault" msgid="5834948469253758575">"Prihvatiti poziv?"</string>
<string name="activity_resolver_use_always" msgid="8017770747801494933">"Uvijek"</string>
<string name="activity_resolver_use_once" msgid="2404644797149173758">"Samo jednom"</string>
- <!-- no translation found for default_audio_route_name (4617053898167127471) -->
- <skip />
- <!-- no translation found for default_audio_route_name (4239291273420140123) -->
- <skip />
+ <string name="default_audio_route_name" product="tablet" msgid="4617053898167127471">"Tabletno računalo"</string>
+ <string name="default_audio_route_name" product="default" msgid="4239291273420140123">"Telefon"</string>
<string name="default_audio_route_name_headphones" msgid="8119971843803439110">"Slušalice"</string>
<string name="default_audio_route_name_dock_speakers" msgid="6240602982276591864">"Zvučnici postolja"</string>
<string name="default_audio_route_name_hdmi" msgid="7986404173839007682">"HDMI audio"</string>
diff --git a/core/res/res/values-hu/strings.xml b/core/res/res/values-hu/strings.xml
index a4fea92..9b878c2 100644
--- a/core/res/res/values-hu/strings.xml
+++ b/core/res/res/values-hu/strings.xml
@@ -1282,10 +1282,8 @@
<string name="SetupCallDefault" msgid="5834948469253758575">"Fogadja a hívást?"</string>
<string name="activity_resolver_use_always" msgid="8017770747801494933">"Mindig"</string>
<string name="activity_resolver_use_once" msgid="2404644797149173758">"Csak egyszer"</string>
- <!-- no translation found for default_audio_route_name (4617053898167127471) -->
- <skip />
- <!-- no translation found for default_audio_route_name (4239291273420140123) -->
- <skip />
+ <string name="default_audio_route_name" product="tablet" msgid="4617053898167127471">"Táblagép"</string>
+ <string name="default_audio_route_name" product="default" msgid="4239291273420140123">"Telefon"</string>
<string name="default_audio_route_name_headphones" msgid="8119971843803439110">"Fejhallgató"</string>
<string name="default_audio_route_name_dock_speakers" msgid="6240602982276591864">"Dokkolóegység hangszórója"</string>
<string name="default_audio_route_name_hdmi" msgid="7986404173839007682">"HDMI audió"</string>
diff --git a/core/res/res/values-it/strings.xml b/core/res/res/values-it/strings.xml
index a6f8df1..d912688 100644
--- a/core/res/res/values-it/strings.xml
+++ b/core/res/res/values-it/strings.xml
@@ -1282,10 +1282,8 @@
<string name="SetupCallDefault" msgid="5834948469253758575">"Accettare la chiamata?"</string>
<string name="activity_resolver_use_always" msgid="8017770747801494933">"Sempre"</string>
<string name="activity_resolver_use_once" msgid="2404644797149173758">"Solo una volta"</string>
- <!-- no translation found for default_audio_route_name (4617053898167127471) -->
- <skip />
- <!-- no translation found for default_audio_route_name (4239291273420140123) -->
- <skip />
+ <string name="default_audio_route_name" product="tablet" msgid="4617053898167127471">"Tablet"</string>
+ <string name="default_audio_route_name" product="default" msgid="4239291273420140123">"Telefono"</string>
<string name="default_audio_route_name_headphones" msgid="8119971843803439110">"Cuffie audio"</string>
<string name="default_audio_route_name_dock_speakers" msgid="6240602982276591864">"Altoparlanti dock"</string>
<string name="default_audio_route_name_hdmi" msgid="7986404173839007682">"Audio HDMI"</string>
diff --git a/core/res/res/values-iw/strings.xml b/core/res/res/values-iw/strings.xml
index f584453..416aa4e 100644
--- a/core/res/res/values-iw/strings.xml
+++ b/core/res/res/values-iw/strings.xml
@@ -1282,10 +1282,8 @@
<string name="SetupCallDefault" msgid="5834948469253758575">"האם לקבל את השיחה?"</string>
<string name="activity_resolver_use_always" msgid="8017770747801494933">"תמיד"</string>
<string name="activity_resolver_use_once" msgid="2404644797149173758">"רק פעם אחת"</string>
- <!-- no translation found for default_audio_route_name (4617053898167127471) -->
- <skip />
- <!-- no translation found for default_audio_route_name (4239291273420140123) -->
- <skip />
+ <string name="default_audio_route_name" product="tablet" msgid="4617053898167127471">"טאבלט"</string>
+ <string name="default_audio_route_name" product="default" msgid="4239291273420140123">"טלפון"</string>
<string name="default_audio_route_name_headphones" msgid="8119971843803439110">"אוזניות"</string>
<string name="default_audio_route_name_dock_speakers" msgid="6240602982276591864">"רמקולים של מעגן"</string>
<string name="default_audio_route_name_hdmi" msgid="7986404173839007682">"אודיו HDMI"</string>
diff --git a/core/res/res/values-nl/strings.xml b/core/res/res/values-nl/strings.xml
index 8874035a..0af5649 100644
--- a/core/res/res/values-nl/strings.xml
+++ b/core/res/res/values-nl/strings.xml
@@ -1282,10 +1282,8 @@
<string name="SetupCallDefault" msgid="5834948469253758575">"Oproep accepteren?"</string>
<string name="activity_resolver_use_always" msgid="8017770747801494933">"Altijd"</string>
<string name="activity_resolver_use_once" msgid="2404644797149173758">"Eén keer"</string>
- <!-- no translation found for default_audio_route_name (4617053898167127471) -->
- <skip />
- <!-- no translation found for default_audio_route_name (4239291273420140123) -->
- <skip />
+ <string name="default_audio_route_name" product="tablet" msgid="4617053898167127471">"Tablet"</string>
+ <string name="default_audio_route_name" product="default" msgid="4239291273420140123">"Telefoon"</string>
<string name="default_audio_route_name_headphones" msgid="8119971843803439110">"Hoofdtelefoon"</string>
<string name="default_audio_route_name_dock_speakers" msgid="6240602982276591864">"Dockluidsprekers"</string>
<string name="default_audio_route_name_hdmi" msgid="7986404173839007682">"HDMI-audio"</string>
diff --git a/core/res/res/values-pl/strings.xml b/core/res/res/values-pl/strings.xml
index e459090..229012b 100644
--- a/core/res/res/values-pl/strings.xml
+++ b/core/res/res/values-pl/strings.xml
@@ -1282,10 +1282,8 @@
<string name="SetupCallDefault" msgid="5834948469253758575">"Odebrać połączenie?"</string>
<string name="activity_resolver_use_always" msgid="8017770747801494933">"Zawsze"</string>
<string name="activity_resolver_use_once" msgid="2404644797149173758">"Tylko raz"</string>
- <!-- no translation found for default_audio_route_name (4617053898167127471) -->
- <skip />
- <!-- no translation found for default_audio_route_name (4239291273420140123) -->
- <skip />
+ <string name="default_audio_route_name" product="tablet" msgid="4617053898167127471">"Tablet"</string>
+ <string name="default_audio_route_name" product="default" msgid="4239291273420140123">"Telefon"</string>
<string name="default_audio_route_name_headphones" msgid="8119971843803439110">"Słuchawki"</string>
<string name="default_audio_route_name_dock_speakers" msgid="6240602982276591864">"Głośniki stacji dokującej"</string>
<string name="default_audio_route_name_hdmi" msgid="7986404173839007682">"Dźwięk przez HDMI"</string>
diff --git a/core/res/res/values-pt-rPT/strings.xml b/core/res/res/values-pt-rPT/strings.xml
index b35d945..6f8616a 100644
--- a/core/res/res/values-pt-rPT/strings.xml
+++ b/core/res/res/values-pt-rPT/strings.xml
@@ -1282,10 +1282,8 @@
<string name="SetupCallDefault" msgid="5834948469253758575">"Aceitar chamada?"</string>
<string name="activity_resolver_use_always" msgid="8017770747801494933">"Sempre"</string>
<string name="activity_resolver_use_once" msgid="2404644797149173758">"Apenas uma vez"</string>
- <!-- no translation found for default_audio_route_name (4617053898167127471) -->
- <skip />
- <!-- no translation found for default_audio_route_name (4239291273420140123) -->
- <skip />
+ <string name="default_audio_route_name" product="tablet" msgid="4617053898167127471">"Tablet"</string>
+ <string name="default_audio_route_name" product="default" msgid="4239291273420140123">"Telemóvel"</string>
<string name="default_audio_route_name_headphones" msgid="8119971843803439110">"Auscultadores"</string>
<string name="default_audio_route_name_dock_speakers" msgid="6240602982276591864">"Altif. estação ancoragem"</string>
<string name="default_audio_route_name_hdmi" msgid="7986404173839007682">"Áudio HDMI"</string>
diff --git a/core/res/res/values-pt/strings.xml b/core/res/res/values-pt/strings.xml
index 899799e..4bd669c 100644
--- a/core/res/res/values-pt/strings.xml
+++ b/core/res/res/values-pt/strings.xml
@@ -1282,10 +1282,8 @@
<string name="SetupCallDefault" msgid="5834948469253758575">"Aceitar chamada?"</string>
<string name="activity_resolver_use_always" msgid="8017770747801494933">"Sempre"</string>
<string name="activity_resolver_use_once" msgid="2404644797149173758">"Só uma vez"</string>
- <!-- no translation found for default_audio_route_name (4617053898167127471) -->
- <skip />
- <!-- no translation found for default_audio_route_name (4239291273420140123) -->
- <skip />
+ <string name="default_audio_route_name" product="tablet" msgid="4617053898167127471">"Tablet"</string>
+ <string name="default_audio_route_name" product="default" msgid="4239291273420140123">"Telefone"</string>
<string name="default_audio_route_name_headphones" msgid="8119971843803439110">"Fones de ouvido"</string>
<string name="default_audio_route_name_dock_speakers" msgid="6240602982276591864">"Alto-falantes do dock"</string>
<string name="default_audio_route_name_hdmi" msgid="7986404173839007682">"Áudio HDMI"</string>
diff --git a/core/res/res/values-sr/strings.xml b/core/res/res/values-sr/strings.xml
index a3f28e2..fd337a3 100644
--- a/core/res/res/values-sr/strings.xml
+++ b/core/res/res/values-sr/strings.xml
@@ -1282,10 +1282,8 @@
<string name="SetupCallDefault" msgid="5834948469253758575">"Желите ли да прихватите позив?"</string>
<string name="activity_resolver_use_always" msgid="8017770747801494933">"Увек"</string>
<string name="activity_resolver_use_once" msgid="2404644797149173758">"Само једном"</string>
- <!-- no translation found for default_audio_route_name (4617053898167127471) -->
- <skip />
- <!-- no translation found for default_audio_route_name (4239291273420140123) -->
- <skip />
+ <string name="default_audio_route_name" product="tablet" msgid="4617053898167127471">"Таблет"</string>
+ <string name="default_audio_route_name" product="default" msgid="4239291273420140123">"Телефон"</string>
<string name="default_audio_route_name_headphones" msgid="8119971843803439110">"Слушалице"</string>
<string name="default_audio_route_name_dock_speakers" msgid="6240602982276591864">"Звучници базне станице"</string>
<string name="default_audio_route_name_hdmi" msgid="7986404173839007682">"HDMI аудио"</string>
diff --git a/core/res/res/values-sv/strings.xml b/core/res/res/values-sv/strings.xml
index 6840c6b..ebe61a2 100644
--- a/core/res/res/values-sv/strings.xml
+++ b/core/res/res/values-sv/strings.xml
@@ -1282,10 +1282,8 @@
<string name="SetupCallDefault" msgid="5834948469253758575">"Vill du ta emot samtal?"</string>
<string name="activity_resolver_use_always" msgid="8017770747801494933">"Alltid"</string>
<string name="activity_resolver_use_once" msgid="2404644797149173758">"Bara en gång"</string>
- <!-- no translation found for default_audio_route_name (4617053898167127471) -->
- <skip />
- <!-- no translation found for default_audio_route_name (4239291273420140123) -->
- <skip />
+ <string name="default_audio_route_name" product="tablet" msgid="4617053898167127471">"Pekdator"</string>
+ <string name="default_audio_route_name" product="default" msgid="4239291273420140123">"Mobil"</string>
<string name="default_audio_route_name_headphones" msgid="8119971843803439110">"Hörlurar"</string>
<string name="default_audio_route_name_dock_speakers" msgid="6240602982276591864">"Dockningsstationens högtalare"</string>
<string name="default_audio_route_name_hdmi" msgid="7986404173839007682">"HDMI-ljud"</string>
diff --git a/core/res/res/values-sw/strings.xml b/core/res/res/values-sw/strings.xml
index d48120b..f69a75c 100644
--- a/core/res/res/values-sw/strings.xml
+++ b/core/res/res/values-sw/strings.xml
@@ -1282,10 +1282,8 @@
<string name="SetupCallDefault" msgid="5834948469253758575">"Kubali simu?"</string>
<string name="activity_resolver_use_always" msgid="8017770747801494933">"Kila mara"</string>
<string name="activity_resolver_use_once" msgid="2404644797149173758">"Mara moja tu"</string>
- <!-- no translation found for default_audio_route_name (4617053898167127471) -->
- <skip />
- <!-- no translation found for default_audio_route_name (4239291273420140123) -->
- <skip />
+ <string name="default_audio_route_name" product="tablet" msgid="4617053898167127471">"Kompyuta kibao"</string>
+ <string name="default_audio_route_name" product="default" msgid="4239291273420140123">"Simu"</string>
<string name="default_audio_route_name_headphones" msgid="8119971843803439110">"Vipokeasauti"</string>
<string name="default_audio_route_name_dock_speakers" msgid="6240602982276591864">"Vipasa sauti vya kituo"</string>
<string name="default_audio_route_name_hdmi" msgid="7986404173839007682">"Sauti ya HDMI"</string>
diff --git a/core/res/res/values-th/strings.xml b/core/res/res/values-th/strings.xml
index fc2ed30..80e8143 100644
--- a/core/res/res/values-th/strings.xml
+++ b/core/res/res/values-th/strings.xml
@@ -1282,10 +1282,8 @@
<string name="SetupCallDefault" msgid="5834948469253758575">"รับสายหรือไม่"</string>
<string name="activity_resolver_use_always" msgid="8017770747801494933">"ทุกครั้ง"</string>
<string name="activity_resolver_use_once" msgid="2404644797149173758">"เฉพาะครั้งนี้"</string>
- <!-- no translation found for default_audio_route_name (4617053898167127471) -->
- <skip />
- <!-- no translation found for default_audio_route_name (4239291273420140123) -->
- <skip />
+ <string name="default_audio_route_name" product="tablet" msgid="4617053898167127471">"แท็บเล็ต"</string>
+ <string name="default_audio_route_name" product="default" msgid="4239291273420140123">"โทรศัพท์"</string>
<string name="default_audio_route_name_headphones" msgid="8119971843803439110">"หูฟัง"</string>
<string name="default_audio_route_name_dock_speakers" msgid="6240602982276591864">"ลำโพงแท่นชาร์จ"</string>
<string name="default_audio_route_name_hdmi" msgid="7986404173839007682">"เสียง HDMI"</string>
diff --git a/core/res/res/values-tl/strings.xml b/core/res/res/values-tl/strings.xml
index dd27ab2..e9ea129 100644
--- a/core/res/res/values-tl/strings.xml
+++ b/core/res/res/values-tl/strings.xml
@@ -1282,10 +1282,8 @@
<string name="SetupCallDefault" msgid="5834948469253758575">"Tanggapin ang tawag?"</string>
<string name="activity_resolver_use_always" msgid="8017770747801494933">"Palagi"</string>
<string name="activity_resolver_use_once" msgid="2404644797149173758">"Isang beses lang"</string>
- <!-- no translation found for default_audio_route_name (4617053898167127471) -->
- <skip />
- <!-- no translation found for default_audio_route_name (4239291273420140123) -->
- <skip />
+ <string name="default_audio_route_name" product="tablet" msgid="4617053898167127471">"Tablet"</string>
+ <string name="default_audio_route_name" product="default" msgid="4239291273420140123">"Telepono"</string>
<string name="default_audio_route_name_headphones" msgid="8119971843803439110">"Mga Headphone"</string>
<string name="default_audio_route_name_dock_speakers" msgid="6240602982276591864">"Mga speaker ng dock"</string>
<string name="default_audio_route_name_hdmi" msgid="7986404173839007682">"HDMI audio"</string>
diff --git a/core/res/res/values-uk/strings.xml b/core/res/res/values-uk/strings.xml
index 9741607..8131fd7 100644
--- a/core/res/res/values-uk/strings.xml
+++ b/core/res/res/values-uk/strings.xml
@@ -1282,10 +1282,8 @@
<string name="SetupCallDefault" msgid="5834948469253758575">"Прийняти виклик?"</string>
<string name="activity_resolver_use_always" msgid="8017770747801494933">"Завжди"</string>
<string name="activity_resolver_use_once" msgid="2404644797149173758">"Лише цього разу"</string>
- <!-- no translation found for default_audio_route_name (4617053898167127471) -->
- <skip />
- <!-- no translation found for default_audio_route_name (4239291273420140123) -->
- <skip />
+ <string name="default_audio_route_name" product="tablet" msgid="4617053898167127471">"Планшетний ПК"</string>
+ <string name="default_audio_route_name" product="default" msgid="4239291273420140123">"Телефон"</string>
<string name="default_audio_route_name_headphones" msgid="8119971843803439110">"Навушники"</string>
<string name="default_audio_route_name_dock_speakers" msgid="6240602982276591864">"Динаміки док-станції"</string>
<string name="default_audio_route_name_hdmi" msgid="7986404173839007682">"Аудіовихід HDMI"</string>
diff --git a/core/res/res/values-vi/strings.xml b/core/res/res/values-vi/strings.xml
index e8b4e54..d9de025 100644
--- a/core/res/res/values-vi/strings.xml
+++ b/core/res/res/values-vi/strings.xml
@@ -1282,10 +1282,8 @@
<string name="SetupCallDefault" msgid="5834948469253758575">"Chấp nhận cuộc gọi?"</string>
<string name="activity_resolver_use_always" msgid="8017770747801494933">"Luôn chọn"</string>
<string name="activity_resolver_use_once" msgid="2404644797149173758">"Chỉ một lần"</string>
- <!-- no translation found for default_audio_route_name (4617053898167127471) -->
- <skip />
- <!-- no translation found for default_audio_route_name (4239291273420140123) -->
- <skip />
+ <string name="default_audio_route_name" product="tablet" msgid="4617053898167127471">"Máy tính bảng"</string>
+ <string name="default_audio_route_name" product="default" msgid="4239291273420140123">"Điện thoại"</string>
<string name="default_audio_route_name_headphones" msgid="8119971843803439110">"Tai nghe"</string>
<string name="default_audio_route_name_dock_speakers" msgid="6240602982276591864">"Loa đế"</string>
<string name="default_audio_route_name_hdmi" msgid="7986404173839007682">"Âm thanh HDMI"</string>
diff --git a/core/res/res/values-zu/strings.xml b/core/res/res/values-zu/strings.xml
index 3aabc48..a2bc951 100644
--- a/core/res/res/values-zu/strings.xml
+++ b/core/res/res/values-zu/strings.xml
@@ -1282,10 +1282,8 @@
<string name="SetupCallDefault" msgid="5834948469253758575">"Amukela ucingo?"</string>
<string name="activity_resolver_use_always" msgid="8017770747801494933">"Njalo"</string>
<string name="activity_resolver_use_once" msgid="2404644797149173758">"Kanye nje"</string>
- <!-- no translation found for default_audio_route_name (4617053898167127471) -->
- <skip />
- <!-- no translation found for default_audio_route_name (4239291273420140123) -->
- <skip />
+ <string name="default_audio_route_name" product="tablet" msgid="4617053898167127471">"Ithebulethi"</string>
+ <string name="default_audio_route_name" product="default" msgid="4239291273420140123">"Ifoni"</string>
<string name="default_audio_route_name_headphones" msgid="8119971843803439110">"Ama-headphone"</string>
<string name="default_audio_route_name_dock_speakers" msgid="6240602982276591864">"Izipikha ze-Dock"</string>
<string name="default_audio_route_name_hdmi" msgid="7986404173839007682">"Umsindo we-HDMI"</string>
diff --git a/core/res/res/values/styles.xml b/core/res/res/values/styles.xml
index 889f86f..e4fc26b 100644
--- a/core/res/res/values/styles.xml
+++ b/core/res/res/values/styles.xml
@@ -272,7 +272,7 @@
</style>
<style name="TextAppearance.EasyCorrectSuggestion" parent="TextAppearance.Suggestion">
- <item name="android:textUnderlineColor">#ffC8C8C8</item>
+ <item name="android:textUnderlineColor">#88C8C8C8</item>
</style>
<style name="TextAppearance.MisspelledSuggestion" parent="TextAppearance.Suggestion">
diff --git a/docs/html/reference/renderscript/annotated.html b/docs/html/reference/renderscript/annotated.html
index 0425db2..62badd9 100644
--- a/docs/html/reference/renderscript/annotated.html
+++ b/docs/html/reference/renderscript/annotated.html
@@ -36,6 +36,7 @@
<tr><td class="indexkey"><a class="el" href="structrs__matrix3x3.html">rs_matrix3x3</a></td><td class="indexvalue">3x3 float matrix </td></tr>
<tr><td class="indexkey"><a class="el" href="structrs__matrix4x4.html">rs_matrix4x4</a></td><td class="indexvalue">4x4 float matrix </td></tr>
<tr><td class="indexkey"><a class="el" href="structrs__mesh.html">rs_mesh</a></td><td class="indexvalue">Opaque handle to a Renderscript mesh object </td></tr>
+ <tr><td class="indexkey"><a class="el" href="structrs__path.html">rs_path</a></td><td class="indexvalue">Opaque handle to a Renderscript Path object </td></tr>
<tr><td class="indexkey"><a class="el" href="structrs__program__fragment.html">rs_program_fragment</a></td><td class="indexvalue">Opaque handle to a Renderscript ProgramFragment object </td></tr>
<tr><td class="indexkey"><a class="el" href="structrs__program__raster.html">rs_program_raster</a></td><td class="indexvalue">Opaque handle to a Renderscript ProgramRaster object </td></tr>
<tr><td class="indexkey"><a class="el" href="structrs__program__store.html">rs_program_store</a></td><td class="indexvalue">Opaque handle to a Renderscript ProgramStore object </td></tr>
diff --git a/docs/html/reference/renderscript/globals.html b/docs/html/reference/renderscript/globals.html
index f6fa413..ffbd052 100644
--- a/docs/html/reference/renderscript/globals.html
+++ b/docs/html/reference/renderscript/globals.html
@@ -366,7 +366,7 @@
: <a class="el" href="rs__math_8rsh.html#ad36abebbb36ffc5312fb2ed8baf98d39">rs_math.rsh</a>
</li>
<li>rsClearObject()
-: <a class="el" href="rs__object_8rsh.html#aab5f47dc11b9044b3d02c4ed818fe6e7">rs_object.rsh</a>
+: <a class="el" href="rs__object_8rsh.html#aa246aa3c8162ef03e43bc0062671ae29">rs_object.rsh</a>
</li>
<li>rsDebug()
: <a class="el" href="rs__debug_8rsh.html#a9a86fd617111dee78b3179a293afb66c">rs_debug.rsh</a>
@@ -383,6 +383,9 @@
<li>rsgAllocationSyncAll()
: <a class="el" href="rs__graphics_8rsh.html#a647228d8e15da6ad67a97701d920dcac">rs_graphics.rsh</a>
</li>
+<li>rsgBindConstant()
+: <a class="el" href="rs__graphics_8rsh.html#a46208900d16287fde91a5d14ebc830dc">rs_graphics.rsh</a>
+</li>
<li>rsgBindFont()
: <a class="el" href="rs__graphics_8rsh.html#ae89effef281e92e2940055883ea366d4">rs_graphics.rsh</a>
</li>
@@ -411,7 +414,7 @@
: <a class="el" href="rs__graphics_8rsh.html#a4bedb06e8facd587e3eacd746fe3e727">rs_graphics.rsh</a>
</li>
<li>rsgDrawMesh()
-: <a class="el" href="rs__graphics_8rsh.html#a6f8b87c994810908fbe5e01f8f63f9af">rs_graphics.rsh</a>
+: <a class="el" href="rs__graphics_8rsh.html#ab2704a6d16e3d7983524d0a8413c1b8a">rs_graphics.rsh</a>
</li>
<li>rsgDrawQuad()
: <a class="el" href="rs__graphics_8rsh.html#ad6953da0349e58547b08b8ce174ed3fc">rs_graphics.rsh</a>
@@ -468,7 +471,7 @@
: <a class="el" href="rs__graphics_8rsh.html#a377b7b394c4bf0881532b1241d4be168">rs_graphics.rsh</a>
</li>
<li>rsIsObject()
-: <a class="el" href="rs__object_8rsh.html#ac1d6da920f12974b3633d25ed078da2d">rs_object.rsh</a>
+: <a class="el" href="rs__object_8rsh.html#afa57d9148778b03b270facbdbcb88816">rs_object.rsh</a>
</li>
<li>rsIsSphereInFrustum()
: <a class="el" href="rs__math_8rsh.html#a7bbeaf44838e08e68d5cf3e3d7b0818c">rs_math.rsh</a>
@@ -477,7 +480,7 @@
: <a class="el" href="rs__time_8rsh.html#a08a8fcadae964f7416aef487da624110">rs_time.rsh</a>
</li>
<li>rsMatrixGet()
-: <a class="el" href="rs__matrix_8rsh.html#af1fb87eb02f166bb85ef10a92333bb49">rs_matrix.rsh</a>
+: <a class="el" href="rs__matrix_8rsh.html#a90b0548da8dbe1f643bcbac8466e5b72">rs_matrix.rsh</a>
</li>
<li>rsMatrixInverse()
: <a class="el" href="rs__matrix_8rsh.html#a00b6a334ba5ac94d84850f22ec9f4de5">rs_matrix.rsh</a>
@@ -513,7 +516,7 @@
: <a class="el" href="rs__matrix_8rsh.html#a1b521c8a3d1260fa732cbf0a71af0e74">rs_matrix.rsh</a>
</li>
<li>rsMatrixMultiply()
-: <a class="el" href="rs__matrix_8rsh.html#a4d9a8bb7c3f5d67b14fa349bdd531d13">rs_matrix.rsh</a>
+: <a class="el" href="rs__matrix_8rsh.html#ae0b03aeec17ec8b9c5e75f8efb1bdc53">rs_matrix.rsh</a>
</li>
<li>rsMatrixRotate()
: <a class="el" href="rs__matrix_8rsh.html#ad5ed05ca4880397fb29615e3c6798de1">rs_matrix.rsh</a>
@@ -522,7 +525,7 @@
: <a class="el" href="rs__matrix_8rsh.html#a94cc6b22bd1a6c07a9a1c1d21afb392c">rs_matrix.rsh</a>
</li>
<li>rsMatrixSet()
-: <a class="el" href="rs__matrix_8rsh.html#a68e320f7fa2cc5a5b4759e3ab679ee10">rs_matrix.rsh</a>
+: <a class="el" href="rs__matrix_8rsh.html#ada106cb8f08e4b23930d7ba1a0ce5609">rs_matrix.rsh</a>
</li>
<li>rsMatrixTranslate()
: <a class="el" href="rs__matrix_8rsh.html#a4df5f9b5bb6044f3c3426f2f58b94405">rs_matrix.rsh</a>
@@ -555,7 +558,7 @@
: <a class="el" href="rs__quaternion_8rsh.html#aa72a43cf3d7b5924de1ddfaa5766db09">rs_quaternion.rsh</a>
</li>
<li>rsQuaternionMultiply()
-: <a class="el" href="rs__quaternion_8rsh.html#a4f3d214912facf72f6a6d57e95aa3c3b">rs_quaternion.rsh</a>
+: <a class="el" href="rs__quaternion_8rsh.html#a8bbbb286a2e2cb71b416c053f44844c3">rs_quaternion.rsh</a>
</li>
<li>rsQuaternionNormalize()
: <a class="el" href="rs__quaternion_8rsh.html#abb31aad2416044ad5bbf44ee7c838e2a">rs_quaternion.rsh</a>
@@ -567,7 +570,7 @@
: <a class="el" href="rs__quaternion_8rsh.html#a7da94a30e287cbb8148771a5cd768dbd">rs_quaternion.rsh</a>
</li>
<li>rsRand()
-: <a class="el" href="rs__math_8rsh.html#a03e898d810ac44158e7461b2b2b1c356">rs_math.rsh</a>
+: <a class="el" href="rs__math_8rsh.html#ad9106e5aae5b1248870f21061f36a1c9">rs_math.rsh</a>
</li>
<li>rsSendToClient()
: <a class="el" href="rs__core_8rsh.html#a508003cadad2d37d41e2de7e9226f859">rs_core.rsh</a>
diff --git a/docs/html/reference/renderscript/globals_func.html b/docs/html/reference/renderscript/globals_func.html
index 5886454..c1a622d 100644
--- a/docs/html/reference/renderscript/globals_func.html
+++ b/docs/html/reference/renderscript/globals_func.html
@@ -299,7 +299,7 @@
: <a class="el" href="rs__object_8rsh.html#aab5f47dc11b9044b3d02c4ed818fe6e7">rs_object.rsh</a>
</li>
<li>rsDebug()
-: <a class="el" href="rs__debug_8rsh.html#a0a59285be7204bde7b199c77578b6a42">rs_debug.rsh</a>
+: <a class="el" href="rs__debug_8rsh.html#a6bb20c16c9fcc613158ca8c6f0dd81bd">rs_debug.rsh</a>
</li>
<li>rsExtractFrustumPlanes()
: <a class="el" href="rs__math_8rsh.html#a191f9c687c56322c18b7d71491602122">rs_math.rsh</a>
@@ -313,6 +313,9 @@
<li>rsgAllocationSyncAll()
: <a class="el" href="rs__graphics_8rsh.html#a647228d8e15da6ad67a97701d920dcac">rs_graphics.rsh</a>
</li>
+<li>rsgBindConstant()
+: <a class="el" href="rs__graphics_8rsh.html#a46208900d16287fde91a5d14ebc830dc">rs_graphics.rsh</a>
+</li>
<li>rsgBindFont()
: <a class="el" href="rs__graphics_8rsh.html#ae89effef281e92e2940055883ea366d4">rs_graphics.rsh</a>
</li>
@@ -398,7 +401,7 @@
: <a class="el" href="rs__graphics_8rsh.html#a377b7b394c4bf0881532b1241d4be168">rs_graphics.rsh</a>
</li>
<li>rsIsObject()
-: <a class="el" href="rs__object_8rsh.html#a81f862730b961bd93ac132c24cbc0f82">rs_object.rsh</a>
+: <a class="el" href="rs__object_8rsh.html#ac1d6da920f12974b3633d25ed078da2d">rs_object.rsh</a>
</li>
<li>rsIsSphereInFrustum()
: <a class="el" href="rs__math_8rsh.html#a7bbeaf44838e08e68d5cf3e3d7b0818c">rs_math.rsh</a>
@@ -407,7 +410,7 @@
: <a class="el" href="rs__time_8rsh.html#a08a8fcadae964f7416aef487da624110">rs_time.rsh</a>
</li>
<li>rsMatrixGet()
-: <a class="el" href="rs__matrix_8rsh.html#a90b0548da8dbe1f643bcbac8466e5b72">rs_matrix.rsh</a>
+: <a class="el" href="rs__matrix_8rsh.html#af1fb87eb02f166bb85ef10a92333bb49">rs_matrix.rsh</a>
</li>
<li>rsMatrixInverse()
: <a class="el" href="rs__matrix_8rsh.html#a00b6a334ba5ac94d84850f22ec9f4de5">rs_matrix.rsh</a>
@@ -443,7 +446,7 @@
: <a class="el" href="rs__matrix_8rsh.html#a1b521c8a3d1260fa732cbf0a71af0e74">rs_matrix.rsh</a>
</li>
<li>rsMatrixMultiply()
-: <a class="el" href="rs__matrix_8rsh.html#a716bc2d29b80eb25388aba3ba8845aef">rs_matrix.rsh</a>
+: <a class="el" href="rs__matrix_8rsh.html#a97953ab2606900a839e5816c619abe66">rs_matrix.rsh</a>
</li>
<li>rsMatrixRotate()
: <a class="el" href="rs__matrix_8rsh.html#ad5ed05ca4880397fb29615e3c6798de1">rs_matrix.rsh</a>
@@ -458,10 +461,10 @@
: <a class="el" href="rs__matrix_8rsh.html#a4df5f9b5bb6044f3c3426f2f58b94405">rs_matrix.rsh</a>
</li>
<li>rsMatrixTranspose()
-: <a class="el" href="rs__matrix_8rsh.html#a49164dd4d4e85b212196028b1fd89dc1">rs_matrix.rsh</a>
+: <a class="el" href="rs__matrix_8rsh.html#ac52acb31a705f6c68af8bddea0e79969">rs_matrix.rsh</a>
</li>
<li>rsPackColorTo8888()
-: <a class="el" href="rs__math_8rsh.html#a22e0be7e18b317a7453ebad4300934f6">rs_math.rsh</a>
+: <a class="el" href="rs__math_8rsh.html#a628c8d13e3fe41fc860ad937184e4dcd">rs_math.rsh</a>
</li>
<li>rsqrt()
: <a class="el" href="rs__cl_8rsh.html#a5db00fde9e6bff693a38f3a37e7a1f70">rs_cl.rsh</a>
@@ -497,16 +500,16 @@
: <a class="el" href="rs__quaternion_8rsh.html#a7da94a30e287cbb8148771a5cd768dbd">rs_quaternion.rsh</a>
</li>
<li>rsRand()
-: <a class="el" href="rs__math_8rsh.html#a84b2e7468314873b3aa02969e310d9e4">rs_math.rsh</a>
+: <a class="el" href="rs__math_8rsh.html#ad9106e5aae5b1248870f21061f36a1c9">rs_math.rsh</a>
</li>
<li>rsSendToClient()
-: <a class="el" href="rs__core_8rsh.html#a508003cadad2d37d41e2de7e9226f859">rs_core.rsh</a>
+: <a class="el" href="rs__core_8rsh.html#a91cfbca99f87ef144bea2cdf1e8473ca">rs_core.rsh</a>
</li>
<li>rsSendToClientBlocking()
-: <a class="el" href="rs__core_8rsh.html#a6e4ff6388e8c6978ed17447214f2a2e2">rs_core.rsh</a>
+: <a class="el" href="rs__core_8rsh.html#afc93b00be08f58512a6ab6a87feb9515">rs_core.rsh</a>
</li>
<li>rsSetObject()
-: <a class="el" href="rs__object_8rsh.html#a8135bceeb7b3ec8bf9a49d04e39bd565">rs_object.rsh</a>
+: <a class="el" href="rs__object_8rsh.html#af6983a1578621ce283acc07f876cda62">rs_object.rsh</a>
</li>
<li>rsTime()
: <a class="el" href="rs__time_8rsh.html#a555f9324acb8c3d0c6f09a1d05478ce2">rs_time.rsh</a>
diff --git a/docs/html/reference/renderscript/index.html b/docs/html/reference/renderscript/index.html
index c4c057e..212f000 100644
--- a/docs/html/reference/renderscript/index.html
+++ b/docs/html/reference/renderscript/index.html
@@ -24,9 +24,9 @@
</div>
</div>
<div class="contents">
-<div class="textblock"><p>Renderscript is a high-performance runtime that provides graphics rendering and compute operations at the native level. Renderscript code is compiled on devices at runtime to allow platform-independence as well. This reference documentation describes the Renderscript runtime APIs, which you can utilize to write Renderscript code in C99. The Renderscript header files are automatically included for you, except for the <a class="el" href="rs__graphics_8rsh.html" title="Renderscript graphics API.">rs_graphics.rsh</a> header. If you are doing graphics rendering, include the graphics header file like this:</p>
-<p><code>#include "rs_graphics.rsh"</code></p>
-<p>To use Renderscript, you need to utilize the Renderscript runtime APIs documented here as well as the Android framework APIs for Renderscript. For documentation on the Android framework APIs, see the <a target="_parent" href="http://developer.android.com/reference/android/renderscript/package-summary.html">android.renderscript</a> package reference. For more information on how to develop with Renderscript and how the runtime and Android framework APIs interact, see the <a target="_parent" href="http://developer.android.com/guide/topics/renderscript/index.html">Renderscript developer guide</a> and the <a target="_parent" href="http://developer.android.com/resources/samples/RenderScript/index.html">Renderscript samples</a>. </p>
+<div class="textblock"><p>Renderscript is a high-performance runtime that provides graphics rendering and compute operations at the native level. Renderscript code is compiled on devices at runtime to allow platform-independence as well. This reference documentation describes the Renderscript runtime APIs, which you can utilize to write Renderscript code in C99. The Renderscript header files are automatically included for you.</p>
+<p>To use Renderscript, you need to utilize the Renderscript runtime APIs documented here as well as the Android framework APIs for Renderscript. For documentation on the Android framework APIs, see the <a href="http://developer.android.com/reference/android/renderscript/package-summary.html" target="_parent">android.renderscript</a> package reference.</p>
+<p>For more information on how to develop with Renderscript and how the runtime and Android framework APIs interact, see the <a href="http://developer.android.com/guide/topics/renderscript/index.html" target="_parent">Renderscript developer guide</a> and the Renderscript SDK samples. </p>
</div></div>
</body>
diff --git a/docs/html/reference/renderscript/rs__allocation_8rsh.html b/docs/html/reference/renderscript/rs__allocation_8rsh.html
index ca2663b..9dd06d3 100644
--- a/docs/html/reference/renderscript/rs__allocation_8rsh.html
+++ b/docs/html/reference/renderscript/rs__allocation_8rsh.html
@@ -3,7 +3,7 @@
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<title>/src/ics-mr1/frameworks/base/libs/rs/scriptc/rs_allocation.rsh File Reference</title>
+<title>rs_allocation.rsh File Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
@@ -27,7 +27,7 @@
<div class="summary">
<a href="#func-members">Functions</a> </div>
<div class="headertitle">
-<div class="title">/src/ics-mr1/frameworks/base/libs/rs/scriptc/rs_allocation.rsh File Reference</div> </div>
+<div class="title">rs_allocation.rsh File Reference</div> </div>
</div>
<div class="contents">
<table class="memberdecls">
diff --git a/docs/html/reference/renderscript/rs__allocation_8rsh_source.html b/docs/html/reference/renderscript/rs__allocation_8rsh_source.html
index 0d1c167..3358cff 100644
--- a/docs/html/reference/renderscript/rs__allocation_8rsh_source.html
+++ b/docs/html/reference/renderscript/rs__allocation_8rsh_source.html
@@ -3,7 +3,7 @@
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<title>/src/ics-mr1/frameworks/base/libs/rs/scriptc/rs_allocation.rsh Source File</title>
+<title>rs_allocation.rsh Source File</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
@@ -24,7 +24,7 @@
</div>
<div class="header">
<div class="headertitle">
-<div class="title">/src/ics-mr1/frameworks/base/libs/rs/scriptc/rs_allocation.rsh</div> </div>
+<div class="title">rs_allocation.rsh</div> </div>
</div>
<div class="contents">
<a href="rs__allocation_8rsh.html">Go to the documentation of this file.</a><div class="fragment"><pre class="fragment"><a name="l00001"></a>00001 <span class="comment">/*</span>
@@ -93,8 +93,34 @@
<a name="l00143"></a>00143 extern const <span class="keywordtype">void</span> * __attribute__((overloadable))
<a name="l00144"></a>00144 <a class="code" href="rs__allocation_8rsh.html#a3fd30b4388748601e025bb3566ce0cbc">rsGetElementAt</a>(rs_allocation, <a class="code" href="rs__types_8rsh.html#a435d1572bf3f880d55459d9805097f62">uint32_t</a> x, <a class="code" href="rs__types_8rsh.html#a435d1572bf3f880d55459d9805097f62">uint32_t</a> y, <a class="code" href="rs__types_8rsh.html#a435d1572bf3f880d55459d9805097f62">uint32_t</a> z);
<a name="l00145"></a>00145
-<a name="l00146"></a>00146 <span class="preprocessor">#endif</span>
-<a name="l00147"></a>00147 <span class="preprocessor"></span>
+<a name="l00146"></a>00146 <span class="comment">// New API's</span>
+<a name="l00147"></a>00147 <span class="preprocessor">#if (defined(RS_VERSION) && (RS_VERSION >= 16))</span>
+<a name="l00148"></a>00148 <span class="preprocessor"></span>
+<a name="l00153"></a>00153 <span class="keyword">extern</span> <span class="keyword">const</span> <span class="keywordtype">void</span> __attribute__((overloadable))
+<a name="l00154"></a>00154 rsAllocationIoSend(rs_allocation a);
+<a name="l00155"></a>00155
+<a name="l00160"></a>00160 extern const <span class="keywordtype">void</span> __attribute__((overloadable))
+<a name="l00161"></a>00161 rsAllocationIoReceive(rs_allocation a);
+<a name="l00162"></a>00162
+<a name="l00163"></a>00163
+<a name="l00169"></a>00169 extern <a class="code" href="structrs__element.html" title="Opaque handle to a Renderscript element.">rs_element</a> __attribute__((overloadable))
+<a name="l00170"></a>00170 rsAllocationGetElement(rs_allocation a);
+<a name="l00171"></a>00171
+<a name="l00178"></a>00178 extern const <a class="code" href="rs__types_8rsh.html#adb5162dc168ddd471d948faa60b37c5e">float4</a> __attribute__((overloadable))
+<a name="l00179"></a>00179 rsSample(rs_allocation a, <a class="code" href="structrs__sampler.html" title="Opaque handle to a Renderscript sampler object.">rs_sampler</a> s, <span class="keywordtype">float</span> location);
+<a name="l00189"></a>00189 extern const <a class="code" href="rs__types_8rsh.html#adb5162dc168ddd471d948faa60b37c5e">float4</a> __attribute__((overloadable))
+<a name="l00190"></a>00190 rsSample(rs_allocation a, <a class="code" href="structrs__sampler.html" title="Opaque handle to a Renderscript sampler object.">rs_sampler</a> s, <span class="keywordtype">float</span> location, <span class="keywordtype">float</span> lod);
+<a name="l00191"></a>00191
+<a name="l00198"></a>00198 extern const <a class="code" href="rs__types_8rsh.html#adb5162dc168ddd471d948faa60b37c5e">float4</a> __attribute__((overloadable))
+<a name="l00199"></a>00199 rsSample(rs_allocation a, <a class="code" href="structrs__sampler.html" title="Opaque handle to a Renderscript sampler object.">rs_sampler</a> s, <a class="code" href="rs__types_8rsh.html#a5086d0fcb71f916c936af486ccf0dd41">float2</a> location);
+<a name="l00200"></a>00200
+<a name="l00210"></a>00210 extern const <a class="code" href="rs__types_8rsh.html#adb5162dc168ddd471d948faa60b37c5e">float4</a> __attribute__((overloadable))
+<a name="l00211"></a>00211 rsSample(rs_allocation a, <a class="code" href="structrs__sampler.html" title="Opaque handle to a Renderscript sampler object.">rs_sampler</a> s, <a class="code" href="rs__types_8rsh.html#a5086d0fcb71f916c936af486ccf0dd41">float2</a> location, <span class="keywordtype">float</span> lod);
+<a name="l00212"></a>00212
+<a name="l00213"></a>00213 <span class="preprocessor">#endif // (defined(RS_VERSION) && (RS_VERSION >= 16))</span>
+<a name="l00214"></a>00214 <span class="preprocessor"></span>
+<a name="l00215"></a>00215 <span class="preprocessor">#endif</span>
+<a name="l00216"></a>00216 <span class="preprocessor"></span>
</pre></div></div>
</div>
diff --git a/docs/html/reference/renderscript/rs__atomic_8rsh.html b/docs/html/reference/renderscript/rs__atomic_8rsh.html
index 3d0e97e..bb33fc30 100644
--- a/docs/html/reference/renderscript/rs__atomic_8rsh.html
+++ b/docs/html/reference/renderscript/rs__atomic_8rsh.html
@@ -3,7 +3,7 @@
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<title>/src/ics-mr1/frameworks/base/libs/rs/scriptc/rs_atomic.rsh File Reference</title>
+<title>rs_atomic.rsh File Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
@@ -25,7 +25,7 @@
</div>
<div class="header">
<div class="headertitle">
-<div class="title">/src/ics-mr1/frameworks/base/libs/rs/scriptc/rs_atomic.rsh File Reference</div> </div>
+<div class="title">rs_atomic.rsh File Reference</div> </div>
</div>
<div class="contents">
<hr/><a name="details" id="details"></a><h2>Detailed Description</h2>
diff --git a/docs/html/reference/renderscript/rs__atomic_8rsh_source.html b/docs/html/reference/renderscript/rs__atomic_8rsh_source.html
index a1400bd..63d1a680 100644
--- a/docs/html/reference/renderscript/rs__atomic_8rsh_source.html
+++ b/docs/html/reference/renderscript/rs__atomic_8rsh_source.html
@@ -3,7 +3,7 @@
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<title>/src/ics-mr1/frameworks/base/libs/rs/scriptc/rs_atomic.rsh Source File</title>
+<title>rs_atomic.rsh Source File</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
@@ -24,7 +24,7 @@
</div>
<div class="header">
<div class="headertitle">
-<div class="title">/src/ics-mr1/frameworks/base/libs/rs/scriptc/rs_atomic.rsh</div> </div>
+<div class="title">rs_atomic.rsh</div> </div>
</div>
<div class="contents">
<a href="rs__atomic_8rsh.html">Go to the documentation of this file.</a><div class="fragment"><pre class="fragment"><a name="l00001"></a>00001 <span class="comment">/*</span>
@@ -97,7 +97,7 @@
<a name="l00231"></a>00231 rsAtomicCas(volatile <a class="code" href="rs__types_8rsh.html#a32f2e37ee053cf2ce8ca28d1f74630e5">int32_t</a>* addr, <a class="code" href="rs__types_8rsh.html#a32f2e37ee053cf2ce8ca28d1f74630e5">int32_t</a> compareValue, <a class="code" href="rs__types_8rsh.html#a32f2e37ee053cf2ce8ca28d1f74630e5">int32_t</a> newValue);
<a name="l00232"></a>00232
<a name="l00244"></a>00244 extern <a class="code" href="rs__types_8rsh.html#a435d1572bf3f880d55459d9805097f62">uint32_t</a> __attribute__((overloadable))
-<a name="l00245"></a>00245 rsAtomicCas(volatile <a class="code" href="rs__types_8rsh.html#a435d1572bf3f880d55459d9805097f62">uint32_t</a>* addr, <a class="code" href="rs__types_8rsh.html#a32f2e37ee053cf2ce8ca28d1f74630e5">int32_t</a> compareValue, <a class="code" href="rs__types_8rsh.html#a32f2e37ee053cf2ce8ca28d1f74630e5">int32_t</a> newValue);
+<a name="l00245"></a>00245 rsAtomicCas(volatile <a class="code" href="rs__types_8rsh.html#a435d1572bf3f880d55459d9805097f62">uint32_t</a>* addr, <a class="code" href="rs__types_8rsh.html#a435d1572bf3f880d55459d9805097f62">uint32_t</a> compareValue, <a class="code" href="rs__types_8rsh.html#a435d1572bf3f880d55459d9805097f62">uint32_t</a> newValue);
<a name="l00246"></a>00246
<a name="l00247"></a>00247 <span class="preprocessor">#endif //defined(RS_VERSION) && (RS_VERSION >= 14)</span>
<a name="l00248"></a>00248 <span class="preprocessor"></span>
diff --git a/docs/html/reference/renderscript/rs__cl_8rsh.html b/docs/html/reference/renderscript/rs__cl_8rsh.html
index 5c499e6..999fe0d 100644
--- a/docs/html/reference/renderscript/rs__cl_8rsh.html
+++ b/docs/html/reference/renderscript/rs__cl_8rsh.html
@@ -3,7 +3,7 @@
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<title>/src/ics-mr1/frameworks/base/libs/rs/scriptc/rs_cl.rsh File Reference</title>
+<title>rs_cl.rsh File Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
@@ -27,7 +27,7 @@
<div class="summary">
<a href="#func-members">Functions</a> </div>
<div class="headertitle">
-<div class="title">/src/ics-mr1/frameworks/base/libs/rs/scriptc/rs_cl.rsh File Reference</div> </div>
+<div class="title">rs_cl.rsh File Reference</div> </div>
</div>
<div class="contents">
<table class="memberdecls">
diff --git a/docs/html/reference/renderscript/rs__cl_8rsh_source.html b/docs/html/reference/renderscript/rs__cl_8rsh_source.html
index 73ecdc6..8cc3cb7 100644
--- a/docs/html/reference/renderscript/rs__cl_8rsh_source.html
+++ b/docs/html/reference/renderscript/rs__cl_8rsh_source.html
@@ -3,7 +3,7 @@
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<title>/src/ics-mr1/frameworks/base/libs/rs/scriptc/rs_cl.rsh Source File</title>
+<title>rs_cl.rsh Source File</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
@@ -24,7 +24,7 @@
</div>
<div class="header">
<div class="headertitle">
-<div class="title">/src/ics-mr1/frameworks/base/libs/rs/scriptc/rs_cl.rsh</div> </div>
+<div class="title">rs_cl.rsh</div> </div>
</div>
<div class="contents">
<a href="rs__cl_8rsh.html">Go to the documentation of this file.</a><div class="fragment"><pre class="fragment"><a name="l00001"></a>00001 <span class="comment">/*</span>
@@ -275,7 +275,7 @@
<a name="l00501"></a>00501 extern <span class="keywordtype">float</span> __attribute__((overloadable)) <a class="code" href="rs__cl_8rsh.html#a841633bcdcaeb6a514d9c6460f0adf2d">modf</a>(<span class="keywordtype">float</span> x, <span class="keywordtype">float</span> *iret);
<a name="l00502"></a>00502 FN_FUNC_FN_PFN(<a class="code" href="rs__cl_8rsh.html#a841633bcdcaeb6a514d9c6460f0adf2d">modf</a>);
<a name="l00503"></a>00503
-<a name="l00504"></a>00504 <span class="comment">//extern float __attribute__((overloadable)) nan(uint);</span>
+<a name="l00504"></a>00504 extern <span class="keywordtype">float</span> __attribute__((overloadable)) nan(<a class="code" href="rs__types_8rsh.html#a4f5fce8c1ef282264f9214809524d836">uint</a>);
<a name="l00505"></a>00505
<a name="l00511"></a>00511 extern <span class="keywordtype">float</span> __attribute__((overloadable)) <a class="code" href="rs__cl_8rsh.html#adb11df05fb9985595af0a7bd882bdeac">nextafter</a>(<span class="keywordtype">float</span> x, <span class="keywordtype">float</span> y);
<a name="l00512"></a>00512 FN_FUNC_FN_FN(<a class="code" href="rs__cl_8rsh.html#adb11df05fb9985595af0a7bd882bdeac">nextafter</a>)
diff --git a/docs/html/reference/renderscript/rs__core_8rsh.html b/docs/html/reference/renderscript/rs__core_8rsh.html
index 5a32e19..6212598 100644
--- a/docs/html/reference/renderscript/rs__core_8rsh.html
+++ b/docs/html/reference/renderscript/rs__core_8rsh.html
@@ -3,7 +3,7 @@
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<title>/src/ics-mr1/frameworks/base/libs/rs/scriptc/rs_core.rsh File Reference</title>
+<title>rs_core.rsh File Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
@@ -30,7 +30,7 @@
<a href="#enum-members">Enumerations</a> |
<a href="#func-members">Functions</a> </div>
<div class="headertitle">
-<div class="title">/src/ics-mr1/frameworks/base/libs/rs/scriptc/rs_core.rsh File Reference</div> </div>
+<div class="title">rs_core.rsh File Reference</div> </div>
</div>
<div class="contents">
<div class="textblock"><code>#include "<a class="el" href="rs__types_8rsh_source.html">rs_types.rsh</a>"</code><br/>
@@ -38,10 +38,12 @@
<code>#include "<a class="el" href="rs__atomic_8rsh_source.html">rs_atomic.rsh</a>"</code><br/>
<code>#include "<a class="el" href="rs__cl_8rsh_source.html">rs_cl.rsh</a>"</code><br/>
<code>#include "<a class="el" href="rs__debug_8rsh_source.html">rs_debug.rsh</a>"</code><br/>
+<code>#include "<a class="el" href="rs__element_8rsh_source.html">rs_element.rsh</a>"</code><br/>
<code>#include "<a class="el" href="rs__math_8rsh_source.html">rs_math.rsh</a>"</code><br/>
<code>#include "<a class="el" href="rs__matrix_8rsh_source.html">rs_matrix.rsh</a>"</code><br/>
<code>#include "<a class="el" href="rs__object_8rsh_source.html">rs_object.rsh</a>"</code><br/>
<code>#include "<a class="el" href="rs__quaternion_8rsh_source.html">rs_quaternion.rsh</a>"</code><br/>
+<code>#include "<a class="el" href="rs__sampler_8rsh_source.html">rs_sampler.rsh</a>"</code><br/>
<code>#include "<a class="el" href="rs__time_8rsh_source.html">rs_time.rsh</a>"</code><br/>
</div><table class="memberdecls">
<tr><td colspan="2"><h2><a name="nested-classes"></a>
@@ -63,8 +65,7 @@
<tr><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="rs__core_8rsh.html#ae62dc9d507e0e62c064217c71cc94101">rsForEach</a> (<a class="el" href="structrs__script.html">rs_script</a> script, <a class="el" href="structrs__allocation.html">rs_allocation</a> input, <a class="el" href="structrs__allocation.html">rs_allocation</a> output, const void *usrData)</td></tr>
</table>
<hr/><a name="details" id="details"></a><h2>Detailed Description</h2>
-<div class="textblock"><p>todo-jsams </p>
-
+<div class="textblock">
<p>Definition in file <a class="el" href="rs__core_8rsh_source.html">rs_core.rsh</a>.</p>
</div><hr/><h2>Typedef Documentation</h2>
<a class="anchor" id="ae8756b32e23445f287960b9d0ffb449c"></a><!-- doxytag: member="rs_core.rsh::rs_script_call_t" ref="ae8756b32e23445f287960b9d0ffb449c" args="" -->
@@ -95,7 +96,7 @@
<p>Launch order hint for rsForEach calls. This provides a hint to the system to determine in which order the root function of the target is called with each cell of the allocation.</p>
<p>This is a hint and implementations may not obey the order. </p>
-<p>Definition at line <a class="el" href="rs__core_8rsh_source.html#l00074">74</a> of file <a class="el" href="rs__core_8rsh_source.html">rs_core.rsh</a>.</p>
+<p>Definition at line <a class="el" href="rs__core_8rsh_source.html#l00092">92</a> of file <a class="el" href="rs__core_8rsh_source.html">rs_core.rsh</a>.</p>
</div>
</div>
diff --git a/docs/html/reference/renderscript/rs__core_8rsh_source.html b/docs/html/reference/renderscript/rs__core_8rsh_source.html
index fac83e0..888a8b4 100644
--- a/docs/html/reference/renderscript/rs__core_8rsh_source.html
+++ b/docs/html/reference/renderscript/rs__core_8rsh_source.html
@@ -3,7 +3,7 @@
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<title>/src/ics-mr1/frameworks/base/libs/rs/scriptc/rs_core.rsh Source File</title>
+<title>rs_core.rsh Source File</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
@@ -24,11 +24,11 @@
</div>
<div class="header">
<div class="headertitle">
-<div class="title">/src/ics-mr1/frameworks/base/libs/rs/scriptc/rs_core.rsh</div> </div>
+<div class="title">rs_core.rsh</div> </div>
</div>
<div class="contents">
<a href="rs__core_8rsh.html">Go to the documentation of this file.</a><div class="fragment"><pre class="fragment"><a name="l00001"></a>00001 <span class="comment">/*</span>
-<a name="l00002"></a>00002 <span class="comment"> * Copyright (C) 2011 The Android Open Source Project</span>
+<a name="l00002"></a>00002 <span class="comment"> * Copyright (C) 2011-2012 The Android Open Source Project</span>
<a name="l00003"></a>00003 <span class="comment"> *</span>
<a name="l00004"></a>00004 <span class="comment"> * Licensed under the Apache License, Version 2.0 (the "License");</span>
<a name="l00005"></a>00005 <span class="comment"> * you may not use this file except in compliance with the License.</span>
@@ -43,81 +43,81 @@
<a name="l00014"></a>00014 <span class="comment"> * limitations under the License.</span>
<a name="l00015"></a>00015 <span class="comment"> */</span>
<a name="l00016"></a>00016
-<a name="l00024"></a>00024 <span class="preprocessor">#ifndef __RS_CORE_RSH__</span>
-<a name="l00025"></a>00025 <span class="preprocessor"></span><span class="preprocessor">#define __RS_CORE_RSH__</span>
-<a name="l00026"></a>00026 <span class="preprocessor"></span>
-<a name="l00027"></a>00027 <span class="preprocessor">#define _RS_RUNTIME extern</span>
-<a name="l00028"></a>00028 <span class="preprocessor"></span>
-<a name="l00029"></a>00029 <span class="preprocessor">#include "<a class="code" href="rs__types_8rsh.html">rs_types.rsh</a>"</span>
-<a name="l00030"></a>00030 <span class="preprocessor">#include "<a class="code" href="rs__allocation_8rsh.html" title="Allocation routines.">rs_allocation.rsh</a>"</span>
-<a name="l00031"></a>00031 <span class="preprocessor">#include "<a class="code" href="rs__atomic_8rsh.html" title="Atomic routines.">rs_atomic.rsh</a>"</span>
-<a name="l00032"></a>00032 <span class="preprocessor">#include "<a class="code" href="rs__cl_8rsh.html" title="Basic math functions.">rs_cl.rsh</a>"</span>
-<a name="l00033"></a>00033 <span class="preprocessor">#include "<a class="code" href="rs__debug_8rsh.html" title="Utility debugging routines.">rs_debug.rsh</a>"</span>
-<a name="l00034"></a>00034 <span class="preprocessor">#include "<a class="code" href="rs__math_8rsh.html">rs_math.rsh</a>"</span>
-<a name="l00035"></a>00035 <span class="preprocessor">#include "<a class="code" href="rs__matrix_8rsh.html" title="Matrix routines.">rs_matrix.rsh</a>"</span>
-<a name="l00036"></a>00036 <span class="preprocessor">#include "<a class="code" href="rs__object_8rsh.html" title="Object routines.">rs_object.rsh</a>"</span>
-<a name="l00037"></a>00037 <span class="preprocessor">#include "<a class="code" href="rs__quaternion_8rsh.html" title="Quaternion routines.">rs_quaternion.rsh</a>"</span>
-<a name="l00038"></a>00038 <span class="preprocessor">#include "<a class="code" href="rs__time_8rsh.html" title="Renderscript time routines.">rs_time.rsh</a>"</span>
-<a name="l00039"></a>00039
-<a name="l00040"></a>00040
-<a name="l00041"></a>00041
-<a name="l00047"></a>00047 <span class="keyword">extern</span> <span class="keywordtype">bool</span> __attribute__((overloadable))
-<a name="l00048"></a>00048 <a class="code" href="rs__core_8rsh.html#a91cfbca99f87ef144bea2cdf1e8473ca">rsSendToClient</a>(<span class="keywordtype">int</span> cmdID);
-<a name="l00052"></a>00052 extern <span class="keywordtype">bool</span> __attribute__((overloadable))
-<a name="l00053"></a>00053 <a class="code" href="rs__core_8rsh.html#a91cfbca99f87ef144bea2cdf1e8473ca">rsSendToClient</a>(<span class="keywordtype">int</span> cmdID, const <span class="keywordtype">void</span> *data, <a class="code" href="rs__types_8rsh.html#a4f5fce8c1ef282264f9214809524d836">uint</a> len);
-<a name="l00058"></a>00058 extern <span class="keywordtype">void</span> __attribute__((overloadable))
-<a name="l00059"></a>00059 <a class="code" href="rs__core_8rsh.html#a6e4ff6388e8c6978ed17447214f2a2e2">rsSendToClientBlocking</a>(<span class="keywordtype">int</span> cmdID);
-<a name="l00063"></a>00063 extern <span class="keywordtype">void</span> __attribute__((overloadable))
-<a name="l00064"></a>00064 <a class="code" href="rs__core_8rsh.html#a6e4ff6388e8c6978ed17447214f2a2e2">rsSendToClientBlocking</a>(<span class="keywordtype">int</span> cmdID, const <span class="keywordtype">void</span> *data, <a class="code" href="rs__types_8rsh.html#a4f5fce8c1ef282264f9214809524d836">uint</a> len);
-<a name="l00065"></a>00065
-<a name="l00066"></a>00066
-<a name="l00074"></a><a class="code" href="rs__core_8rsh.html#ae1755c901e8acb42510ad10b4e104746">00074</a> enum <a class="code" href="rs__core_8rsh.html#ae1755c901e8acb42510ad10b4e104746">rs_for_each_strategy</a> {
-<a name="l00075"></a>00075 RS_FOR_EACH_STRATEGY_SERIAL,
-<a name="l00076"></a>00076 RS_FOR_EACH_STRATEGY_DONT_CARE,
-<a name="l00077"></a>00077 RS_FOR_EACH_STRATEGY_DST_LINEAR,
-<a name="l00078"></a>00078 RS_FOR_EACH_STRATEGY_TILE_SMALL,
-<a name="l00079"></a>00079 RS_FOR_EACH_STRATEGY_TILE_MEDIUM,
-<a name="l00080"></a>00080 RS_FOR_EACH_STRATEGY_TILE_LARGE
-<a name="l00081"></a>00081 };
-<a name="l00082"></a>00082
+<a name="l00042"></a>00042 <span class="preprocessor">#ifndef __RS_CORE_RSH__</span>
+<a name="l00043"></a>00043 <span class="preprocessor"></span><span class="preprocessor">#define __RS_CORE_RSH__</span>
+<a name="l00044"></a>00044 <span class="preprocessor"></span>
+<a name="l00045"></a>00045 <span class="preprocessor">#define _RS_RUNTIME extern</span>
+<a name="l00046"></a>00046 <span class="preprocessor"></span>
+<a name="l00047"></a>00047 <span class="preprocessor">#include "<a class="code" href="rs__types_8rsh.html">rs_types.rsh</a>"</span>
+<a name="l00048"></a>00048 <span class="preprocessor">#include "<a class="code" href="rs__allocation_8rsh.html" title="Allocation routines.">rs_allocation.rsh</a>"</span>
+<a name="l00049"></a>00049 <span class="preprocessor">#include "<a class="code" href="rs__atomic_8rsh.html" title="Atomic routines.">rs_atomic.rsh</a>"</span>
+<a name="l00050"></a>00050 <span class="preprocessor">#include "<a class="code" href="rs__cl_8rsh.html" title="Basic math functions.">rs_cl.rsh</a>"</span>
+<a name="l00051"></a>00051 <span class="preprocessor">#include "<a class="code" href="rs__debug_8rsh.html" title="Utility debugging routines.">rs_debug.rsh</a>"</span>
+<a name="l00052"></a>00052 <span class="preprocessor">#include "<a class="code" href="rs__element_8rsh.html" title="Element routines.">rs_element.rsh</a>"</span>
+<a name="l00053"></a>00053 <span class="preprocessor">#include "<a class="code" href="rs__math_8rsh.html">rs_math.rsh</a>"</span>
+<a name="l00054"></a>00054 <span class="preprocessor">#include "<a class="code" href="rs__matrix_8rsh.html" title="Matrix routines.">rs_matrix.rsh</a>"</span>
+<a name="l00055"></a>00055 <span class="preprocessor">#include "<a class="code" href="rs__object_8rsh.html" title="Object routines.">rs_object.rsh</a>"</span>
+<a name="l00056"></a>00056 <span class="preprocessor">#include "<a class="code" href="rs__quaternion_8rsh.html" title="Quaternion routines.">rs_quaternion.rsh</a>"</span>
+<a name="l00057"></a>00057 <span class="preprocessor">#include "<a class="code" href="rs__sampler_8rsh.html" title="Sampler routines.">rs_sampler.rsh</a>"</span>
+<a name="l00058"></a>00058 <span class="preprocessor">#include "<a class="code" href="rs__time_8rsh.html" title="Renderscript time routines.">rs_time.rsh</a>"</span>
+<a name="l00059"></a>00059
+<a name="l00065"></a>00065 <span class="keyword">extern</span> <span class="keywordtype">bool</span> __attribute__((overloadable))
+<a name="l00066"></a>00066 <a class="code" href="rs__core_8rsh.html#a91cfbca99f87ef144bea2cdf1e8473ca">rsSendToClient</a>(<span class="keywordtype">int</span> cmdID);
+<a name="l00070"></a>00070 extern <span class="keywordtype">bool</span> __attribute__((overloadable))
+<a name="l00071"></a>00071 <a class="code" href="rs__core_8rsh.html#a91cfbca99f87ef144bea2cdf1e8473ca">rsSendToClient</a>(<span class="keywordtype">int</span> cmdID, const <span class="keywordtype">void</span> *data, <a class="code" href="rs__types_8rsh.html#a4f5fce8c1ef282264f9214809524d836">uint</a> len);
+<a name="l00076"></a>00076 extern <span class="keywordtype">void</span> __attribute__((overloadable))
+<a name="l00077"></a>00077 <a class="code" href="rs__core_8rsh.html#a6e4ff6388e8c6978ed17447214f2a2e2">rsSendToClientBlocking</a>(<span class="keywordtype">int</span> cmdID);
+<a name="l00081"></a>00081 extern <span class="keywordtype">void</span> __attribute__((overloadable))
+<a name="l00082"></a>00082 <a class="code" href="rs__core_8rsh.html#a6e4ff6388e8c6978ed17447214f2a2e2">rsSendToClientBlocking</a>(<span class="keywordtype">int</span> cmdID, const <span class="keywordtype">void</span> *data, <a class="code" href="rs__types_8rsh.html#a4f5fce8c1ef282264f9214809524d836">uint</a> len);
<a name="l00083"></a>00083
-<a name="l00088"></a><a class="code" href="structrs__script__call.html">00088</a> <span class="keyword">typedef</span> <span class="keyword">struct </span><a class="code" href="structrs__script__call.html">rs_script_call</a> {
-<a name="l00089"></a>00089 <span class="keyword">enum</span> <a class="code" href="rs__core_8rsh.html#ae1755c901e8acb42510ad10b4e104746">rs_for_each_strategy</a> strategy;
-<a name="l00090"></a>00090 <a class="code" href="rs__types_8rsh.html#a435d1572bf3f880d55459d9805097f62">uint32_t</a> xStart;
-<a name="l00091"></a>00091 <a class="code" href="rs__types_8rsh.html#a435d1572bf3f880d55459d9805097f62">uint32_t</a> xEnd;
-<a name="l00092"></a>00092 <a class="code" href="rs__types_8rsh.html#a435d1572bf3f880d55459d9805097f62">uint32_t</a> yStart;
-<a name="l00093"></a>00093 <a class="code" href="rs__types_8rsh.html#a435d1572bf3f880d55459d9805097f62">uint32_t</a> yEnd;
-<a name="l00094"></a>00094 <a class="code" href="rs__types_8rsh.html#a435d1572bf3f880d55459d9805097f62">uint32_t</a> zStart;
-<a name="l00095"></a>00095 <a class="code" href="rs__types_8rsh.html#a435d1572bf3f880d55459d9805097f62">uint32_t</a> zEnd;
-<a name="l00096"></a>00096 <a class="code" href="rs__types_8rsh.html#a435d1572bf3f880d55459d9805097f62">uint32_t</a> arrayStart;
-<a name="l00097"></a>00097 <a class="code" href="rs__types_8rsh.html#a435d1572bf3f880d55459d9805097f62">uint32_t</a> arrayEnd;
-<a name="l00098"></a>00098 } <a class="code" href="rs__core_8rsh.html#ae8756b32e23445f287960b9d0ffb449c">rs_script_call_t</a>;
-<a name="l00099"></a>00099
-<a name="l00116"></a>00116 <span class="preprocessor">#if !defined(RS_VERSION) || (RS_VERSION < 14)</span>
-<a name="l00117"></a>00117 <span class="preprocessor"></span><span class="keyword">extern</span> <span class="keywordtype">void</span> __attribute__((overloadable))
-<a name="l00118"></a>00118 <a class="code" href="rs__core_8rsh.html#a95ebbf7a8923193df144649c066daae6">rsForEach</a>(<a class="code" href="structrs__script.html" title="Opaque handle to a Renderscript script object.">rs_script</a> script, <a class="code" href="structrs__allocation.html" title="Opaque handle to a Renderscript allocation.">rs_allocation</a> input,
-<a name="l00119"></a>00119 <a class="code" href="structrs__allocation.html" title="Opaque handle to a Renderscript allocation.">rs_allocation</a> output, const <span class="keywordtype">void</span> * usrData,
-<a name="l00120"></a>00120 const <a class="code" href="structrs__script__call.html">rs_script_call_t</a> *sc);
-<a name="l00124"></a>00124 extern <span class="keywordtype">void</span> __attribute__((overloadable))
-<a name="l00125"></a>00125 <a class="code" href="rs__core_8rsh.html#a95ebbf7a8923193df144649c066daae6">rsForEach</a>(<a class="code" href="structrs__script.html" title="Opaque handle to a Renderscript script object.">rs_script</a> script, <a class="code" href="structrs__allocation.html" title="Opaque handle to a Renderscript allocation.">rs_allocation</a> input,
-<a name="l00126"></a>00126 <a class="code" href="structrs__allocation.html" title="Opaque handle to a Renderscript allocation.">rs_allocation</a> output, const <span class="keywordtype">void</span> * usrData);
-<a name="l00127"></a>00127 <span class="preprocessor">#else</span>
-<a name="l00128"></a>00128 <span class="preprocessor"></span>
-<a name="l00147"></a>00147 <span class="keyword">extern</span> <span class="keywordtype">void</span> __attribute__((overloadable))
-<a name="l00148"></a>00148 <a class="code" href="rs__core_8rsh.html#a95ebbf7a8923193df144649c066daae6">rsForEach</a>(<a class="code" href="structrs__script.html" title="Opaque handle to a Renderscript script object.">rs_script</a> script, <a class="code" href="structrs__allocation.html" title="Opaque handle to a Renderscript allocation.">rs_allocation</a> input, <a class="code" href="structrs__allocation.html" title="Opaque handle to a Renderscript allocation.">rs_allocation</a> output,
-<a name="l00149"></a>00149 const <span class="keywordtype">void</span> * usrData, <span class="keywordtype">size_t</span> usrDataLen, const <a class="code" href="structrs__script__call.html">rs_script_call_t</a> *);
-<a name="l00153"></a>00153 extern <span class="keywordtype">void</span> __attribute__((overloadable))
-<a name="l00154"></a>00154 <a class="code" href="rs__core_8rsh.html#a95ebbf7a8923193df144649c066daae6">rsForEach</a>(<a class="code" href="structrs__script.html" title="Opaque handle to a Renderscript script object.">rs_script</a> script, <a class="code" href="structrs__allocation.html" title="Opaque handle to a Renderscript allocation.">rs_allocation</a> input, <a class="code" href="structrs__allocation.html" title="Opaque handle to a Renderscript allocation.">rs_allocation</a> output,
-<a name="l00155"></a>00155 const <span class="keywordtype">void</span> * usrData, <span class="keywordtype">size_t</span> usrDataLen);
-<a name="l00159"></a>00159 extern <span class="keywordtype">void</span> __attribute__((overloadable))
-<a name="l00160"></a>00160 <a class="code" href="rs__core_8rsh.html#a95ebbf7a8923193df144649c066daae6">rsForEach</a>(<a class="code" href="structrs__script.html" title="Opaque handle to a Renderscript script object.">rs_script</a> script, <a class="code" href="structrs__allocation.html" title="Opaque handle to a Renderscript allocation.">rs_allocation</a> input, <a class="code" href="structrs__allocation.html" title="Opaque handle to a Renderscript allocation.">rs_allocation</a> output);
-<a name="l00161"></a>00161 <span class="preprocessor">#endif</span>
-<a name="l00162"></a>00162 <span class="preprocessor"></span>
-<a name="l00163"></a>00163
-<a name="l00164"></a>00164
-<a name="l00165"></a>00165 <span class="preprocessor">#undef _RS_RUNTIME</span>
-<a name="l00166"></a>00166 <span class="preprocessor"></span>
-<a name="l00167"></a>00167 <span class="preprocessor">#endif</span>
+<a name="l00084"></a>00084
+<a name="l00092"></a><a class="code" href="rs__core_8rsh.html#ae1755c901e8acb42510ad10b4e104746">00092</a> enum <a class="code" href="rs__core_8rsh.html#ae1755c901e8acb42510ad10b4e104746">rs_for_each_strategy</a> {
+<a name="l00093"></a>00093 RS_FOR_EACH_STRATEGY_SERIAL,
+<a name="l00094"></a>00094 RS_FOR_EACH_STRATEGY_DONT_CARE,
+<a name="l00095"></a>00095 RS_FOR_EACH_STRATEGY_DST_LINEAR,
+<a name="l00096"></a>00096 RS_FOR_EACH_STRATEGY_TILE_SMALL,
+<a name="l00097"></a>00097 RS_FOR_EACH_STRATEGY_TILE_MEDIUM,
+<a name="l00098"></a>00098 RS_FOR_EACH_STRATEGY_TILE_LARGE
+<a name="l00099"></a>00099 };
+<a name="l00100"></a>00100
+<a name="l00101"></a>00101
+<a name="l00106"></a><a class="code" href="structrs__script__call.html">00106</a> <span class="keyword">typedef</span> <span class="keyword">struct </span><a class="code" href="structrs__script__call.html">rs_script_call</a> {
+<a name="l00107"></a>00107 <span class="keyword">enum</span> <a class="code" href="rs__core_8rsh.html#ae1755c901e8acb42510ad10b4e104746">rs_for_each_strategy</a> strategy;
+<a name="l00108"></a>00108 <a class="code" href="rs__types_8rsh.html#a435d1572bf3f880d55459d9805097f62">uint32_t</a> xStart;
+<a name="l00109"></a>00109 <a class="code" href="rs__types_8rsh.html#a435d1572bf3f880d55459d9805097f62">uint32_t</a> xEnd;
+<a name="l00110"></a>00110 <a class="code" href="rs__types_8rsh.html#a435d1572bf3f880d55459d9805097f62">uint32_t</a> yStart;
+<a name="l00111"></a>00111 <a class="code" href="rs__types_8rsh.html#a435d1572bf3f880d55459d9805097f62">uint32_t</a> yEnd;
+<a name="l00112"></a>00112 <a class="code" href="rs__types_8rsh.html#a435d1572bf3f880d55459d9805097f62">uint32_t</a> zStart;
+<a name="l00113"></a>00113 <a class="code" href="rs__types_8rsh.html#a435d1572bf3f880d55459d9805097f62">uint32_t</a> zEnd;
+<a name="l00114"></a>00114 <a class="code" href="rs__types_8rsh.html#a435d1572bf3f880d55459d9805097f62">uint32_t</a> arrayStart;
+<a name="l00115"></a>00115 <a class="code" href="rs__types_8rsh.html#a435d1572bf3f880d55459d9805097f62">uint32_t</a> arrayEnd;
+<a name="l00116"></a>00116 } <a class="code" href="rs__core_8rsh.html#ae8756b32e23445f287960b9d0ffb449c">rs_script_call_t</a>;
+<a name="l00117"></a>00117
+<a name="l00134"></a>00134 <span class="preprocessor">#if !defined(RS_VERSION) || (RS_VERSION < 14)</span>
+<a name="l00135"></a>00135 <span class="preprocessor"></span><span class="keyword">extern</span> <span class="keywordtype">void</span> __attribute__((overloadable))
+<a name="l00136"></a>00136 <a class="code" href="rs__core_8rsh.html#a95ebbf7a8923193df144649c066daae6">rsForEach</a>(<a class="code" href="structrs__script.html" title="Opaque handle to a Renderscript script object.">rs_script</a> script, <a class="code" href="structrs__allocation.html" title="Opaque handle to a Renderscript allocation.">rs_allocation</a> input,
+<a name="l00137"></a>00137 <a class="code" href="structrs__allocation.html" title="Opaque handle to a Renderscript allocation.">rs_allocation</a> output, const <span class="keywordtype">void</span> * usrData,
+<a name="l00138"></a>00138 const <a class="code" href="structrs__script__call.html">rs_script_call_t</a> *sc);
+<a name="l00142"></a>00142 extern <span class="keywordtype">void</span> __attribute__((overloadable))
+<a name="l00143"></a>00143 <a class="code" href="rs__core_8rsh.html#a95ebbf7a8923193df144649c066daae6">rsForEach</a>(<a class="code" href="structrs__script.html" title="Opaque handle to a Renderscript script object.">rs_script</a> script, <a class="code" href="structrs__allocation.html" title="Opaque handle to a Renderscript allocation.">rs_allocation</a> input,
+<a name="l00144"></a>00144 <a class="code" href="structrs__allocation.html" title="Opaque handle to a Renderscript allocation.">rs_allocation</a> output, const <span class="keywordtype">void</span> * usrData);
+<a name="l00145"></a>00145 <span class="preprocessor">#else</span>
+<a name="l00146"></a>00146 <span class="preprocessor"></span>
+<a name="l00165"></a>00165 <span class="keyword">extern</span> <span class="keywordtype">void</span> __attribute__((overloadable))
+<a name="l00166"></a>00166 <a class="code" href="rs__core_8rsh.html#a95ebbf7a8923193df144649c066daae6">rsForEach</a>(<a class="code" href="structrs__script.html" title="Opaque handle to a Renderscript script object.">rs_script</a> script, <a class="code" href="structrs__allocation.html" title="Opaque handle to a Renderscript allocation.">rs_allocation</a> input, <a class="code" href="structrs__allocation.html" title="Opaque handle to a Renderscript allocation.">rs_allocation</a> output,
+<a name="l00167"></a>00167 const <span class="keywordtype">void</span> * usrData, <span class="keywordtype">size_t</span> usrDataLen, const <a class="code" href="structrs__script__call.html">rs_script_call_t</a> *);
+<a name="l00171"></a>00171 extern <span class="keywordtype">void</span> __attribute__((overloadable))
+<a name="l00172"></a>00172 <a class="code" href="rs__core_8rsh.html#a95ebbf7a8923193df144649c066daae6">rsForEach</a>(<a class="code" href="structrs__script.html" title="Opaque handle to a Renderscript script object.">rs_script</a> script, <a class="code" href="structrs__allocation.html" title="Opaque handle to a Renderscript allocation.">rs_allocation</a> input, <a class="code" href="structrs__allocation.html" title="Opaque handle to a Renderscript allocation.">rs_allocation</a> output,
+<a name="l00173"></a>00173 const <span class="keywordtype">void</span> * usrData, <span class="keywordtype">size_t</span> usrDataLen);
+<a name="l00177"></a>00177 extern <span class="keywordtype">void</span> __attribute__((overloadable))
+<a name="l00178"></a>00178 <a class="code" href="rs__core_8rsh.html#a95ebbf7a8923193df144649c066daae6">rsForEach</a>(<a class="code" href="structrs__script.html" title="Opaque handle to a Renderscript script object.">rs_script</a> script, <a class="code" href="structrs__allocation.html" title="Opaque handle to a Renderscript allocation.">rs_allocation</a> input, <a class="code" href="structrs__allocation.html" title="Opaque handle to a Renderscript allocation.">rs_allocation</a> output);
+<a name="l00179"></a>00179 <span class="preprocessor">#endif</span>
+<a name="l00180"></a>00180 <span class="preprocessor"></span>
+<a name="l00181"></a>00181
+<a name="l00182"></a>00182
+<a name="l00183"></a>00183 <span class="preprocessor">#undef _RS_RUNTIME</span>
+<a name="l00184"></a>00184 <span class="preprocessor"></span>
+<a name="l00185"></a>00185 <span class="preprocessor">#endif</span>
</pre></div></div>
</div>
diff --git a/docs/html/reference/renderscript/rs__debug_8rsh.html b/docs/html/reference/renderscript/rs__debug_8rsh.html
index 75ce9db..7259cf2 100644
--- a/docs/html/reference/renderscript/rs__debug_8rsh.html
+++ b/docs/html/reference/renderscript/rs__debug_8rsh.html
@@ -3,7 +3,7 @@
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<title>/src/ics-mr1/frameworks/base/libs/rs/scriptc/rs_debug.rsh File Reference</title>
+<title>rs_debug.rsh File Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
@@ -27,7 +27,7 @@
<div class="summary">
<a href="#func-members">Functions</a> </div>
<div class="headertitle">
-<div class="title">/src/ics-mr1/frameworks/base/libs/rs/scriptc/rs_debug.rsh File Reference</div> </div>
+<div class="title">rs_debug.rsh File Reference</div> </div>
</div>
<div class="contents">
<table class="memberdecls">
diff --git a/docs/html/reference/renderscript/rs__debug_8rsh_source.html b/docs/html/reference/renderscript/rs__debug_8rsh_source.html
index b06e99c..b1589aa 100644
--- a/docs/html/reference/renderscript/rs__debug_8rsh_source.html
+++ b/docs/html/reference/renderscript/rs__debug_8rsh_source.html
@@ -3,7 +3,7 @@
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<title>/src/ics-mr1/frameworks/base/libs/rs/scriptc/rs_debug.rsh Source File</title>
+<title>rs_debug.rsh Source File</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
@@ -24,7 +24,7 @@
</div>
<div class="header">
<div class="headertitle">
-<div class="title">/src/ics-mr1/frameworks/base/libs/rs/scriptc/rs_debug.rsh</div> </div>
+<div class="title">rs_debug.rsh</div> </div>
</div>
<div class="contents">
<a href="rs__debug_8rsh.html">Go to the documentation of this file.</a><div class="fragment"><pre class="fragment"><a name="l00001"></a>00001 <span class="comment">/*</span>
diff --git a/docs/html/reference/renderscript/rs__element_8rsh.html b/docs/html/reference/renderscript/rs__element_8rsh.html
new file mode 100644
index 0000000..5f23ae9
--- /dev/null
+++ b/docs/html/reference/renderscript/rs__element_8rsh.html
@@ -0,0 +1,38 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+
+<title>rs_element.rsh File Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+
+
+
+</head>
+<body>
+<div id="top"><!-- do not remove this div! -->
+
+
+<!-- Generated by Doxygen 1.7.5.1 -->
+ <div id="navrow1" class="tabs">
+ <ul class="tablist">
+ <li><a href="index.html"><span>Overview</span></a></li>
+ <li class="current"><a href="globals.html"><span>Globals</span></a></li>
+ <li><a href="annotated.html"><span>Structs</span></a></li>
+ </ul>
+ </div>
+</div>
+<div class="header">
+ <div class="headertitle">
+<div class="title">rs_element.rsh File Reference</div> </div>
+</div>
+<div class="contents">
+<hr/><a name="details" id="details"></a><h2>Detailed Description</h2>
+<div class="textblock"><p>Element routines. </p>
+
+<p>Definition in file <a class="el" href="rs__element_8rsh_source.html">rs_element.rsh</a>.</p>
+</div></div>
+
+</body>
+</html>
diff --git a/docs/html/reference/renderscript/rs__element_8rsh_source.html b/docs/html/reference/renderscript/rs__element_8rsh_source.html
new file mode 100644
index 0000000..47ebb4d0
--- /dev/null
+++ b/docs/html/reference/renderscript/rs__element_8rsh_source.html
@@ -0,0 +1,90 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+
+<title>rs_element.rsh Source File</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+
+
+
+</head>
+<body>
+<div id="top"><!-- do not remove this div! -->
+
+
+<!-- Generated by Doxygen 1.7.5.1 -->
+ <div id="navrow1" class="tabs">
+ <ul class="tablist">
+ <li><a href="index.html"><span>Overview</span></a></li>
+ <li class="current"><a href="globals.html"><span>Globals</span></a></li>
+ <li><a href="annotated.html"><span>Structs</span></a></li>
+ </ul>
+ </div>
+<div class="header">
+ <div class="headertitle">
+<div class="title">rs_element.rsh</div> </div>
+</div>
+<div class="contents">
+<a href="rs__element_8rsh.html">Go to the documentation of this file.</a><div class="fragment"><pre class="fragment"><a name="l00001"></a>00001 <span class="comment">/*</span>
+<a name="l00002"></a>00002 <span class="comment"> * Copyright (C) 2012 The Android Open Source Project</span>
+<a name="l00003"></a>00003 <span class="comment"> *</span>
+<a name="l00004"></a>00004 <span class="comment"> * Licensed under the Apache License, Version 2.0 (the "License");</span>
+<a name="l00005"></a>00005 <span class="comment"> * you may not use this file except in compliance with the License.</span>
+<a name="l00006"></a>00006 <span class="comment"> * You may obtain a copy of the License at</span>
+<a name="l00007"></a>00007 <span class="comment"> *</span>
+<a name="l00008"></a>00008 <span class="comment"> * http://www.apache.org/licenses/LICENSE-2.0</span>
+<a name="l00009"></a>00009 <span class="comment"> *</span>
+<a name="l00010"></a>00010 <span class="comment"> * Unless required by applicable law or agreed to in writing, software</span>
+<a name="l00011"></a>00011 <span class="comment"> * distributed under the License is distributed on an "AS IS" BASIS,</span>
+<a name="l00012"></a>00012 <span class="comment"> * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.</span>
+<a name="l00013"></a>00013 <span class="comment"> * See the License for the specific language governing permissions and</span>
+<a name="l00014"></a>00014 <span class="comment"> * limitations under the License.</span>
+<a name="l00015"></a>00015 <span class="comment"> */</span>
+<a name="l00016"></a>00016
+<a name="l00023"></a>00023 <span class="preprocessor">#ifndef __RS_ELEMENT_RSH__</span>
+<a name="l00024"></a>00024 <span class="preprocessor"></span><span class="preprocessor">#define __RS_ELEMENT_RSH__</span>
+<a name="l00025"></a>00025 <span class="preprocessor"></span>
+<a name="l00026"></a>00026 <span class="comment">// New API's</span>
+<a name="l00027"></a>00027 <span class="preprocessor">#if (defined(RS_VERSION) && (RS_VERSION >= 16))</span>
+<a name="l00028"></a>00028 <span class="preprocessor"></span>
+<a name="l00038"></a>00038 <span class="keyword">extern</span> <a class="code" href="rs__types_8rsh.html#a435d1572bf3f880d55459d9805097f62">uint32_t</a> __attribute__((overloadable))
+<a name="l00039"></a>00039 rsElementGetSubElementCount(<a class="code" href="structrs__element.html" title="Opaque handle to a Renderscript element.">rs_element</a> e);
+<a name="l00040"></a>00040
+<a name="l00049"></a>00049 extern <a class="code" href="structrs__element.html" title="Opaque handle to a Renderscript element.">rs_element</a> __attribute__((overloadable))
+<a name="l00050"></a>00050 rsElementGetSubElement(<a class="code" href="structrs__element.html" title="Opaque handle to a Renderscript element.">rs_element</a>, <a class="code" href="rs__types_8rsh.html#a435d1572bf3f880d55459d9805097f62">uint32_t</a> index);
+<a name="l00051"></a>00051
+<a name="l00061"></a>00061 extern <a class="code" href="rs__types_8rsh.html#a435d1572bf3f880d55459d9805097f62">uint32_t</a> __attribute__((overloadable))
+<a name="l00062"></a>00062 rsElementGetSubElementNameLength(rs_element e, <a class="code" href="rs__types_8rsh.html#a435d1572bf3f880d55459d9805097f62">uint32_t</a> index);
+<a name="l00063"></a>00063
+<a name="l00075"></a>00075 extern <a class="code" href="rs__types_8rsh.html#a435d1572bf3f880d55459d9805097f62">uint32_t</a> __attribute__((overloadable))
+<a name="l00076"></a>00076 rsElementGetSubElementName(rs_element e, <a class="code" href="rs__types_8rsh.html#a435d1572bf3f880d55459d9805097f62">uint32_t</a> index, <span class="keywordtype">char</span> *name, <a class="code" href="rs__types_8rsh.html#a435d1572bf3f880d55459d9805097f62">uint32_t</a> nameLength);
+<a name="l00077"></a>00077
+<a name="l00088"></a>00088 extern <a class="code" href="rs__types_8rsh.html#a435d1572bf3f880d55459d9805097f62">uint32_t</a> __attribute__((overloadable))
+<a name="l00089"></a>00089 rsElementGetSubElementArraySize(rs_element e, <a class="code" href="rs__types_8rsh.html#a435d1572bf3f880d55459d9805097f62">uint32_t</a> index);
+<a name="l00090"></a>00090
+<a name="l00100"></a>00100 extern <a class="code" href="rs__types_8rsh.html#a435d1572bf3f880d55459d9805097f62">uint32_t</a> __attribute__((overloadable))
+<a name="l00101"></a>00101 rsElementGetSubElementOffsetBytes(rs_element e, <a class="code" href="rs__types_8rsh.html#a435d1572bf3f880d55459d9805097f62">uint32_t</a> index);
+<a name="l00102"></a>00102
+<a name="l00109"></a>00109 extern <a class="code" href="rs__types_8rsh.html#a435d1572bf3f880d55459d9805097f62">uint32_t</a> __attribute__((overloadable))
+<a name="l00110"></a>00110 rsElementGetBytesSize(rs_element e);
+<a name="l00111"></a>00111
+<a name="l00118"></a>00118 extern rs_data_type __attribute__((overloadable))
+<a name="l00119"></a>00119 rsElementGetDataType(rs_element e);
+<a name="l00120"></a>00120
+<a name="l00127"></a>00127 extern rs_data_kind __attribute__((overloadable))
+<a name="l00128"></a>00128 rsElementGetDataKind(rs_element e);
+<a name="l00129"></a>00129
+<a name="l00137"></a>00137 extern <a class="code" href="rs__types_8rsh.html#a435d1572bf3f880d55459d9805097f62">uint32_t</a> __attribute__((overloadable))
+<a name="l00138"></a>00138 rsElementGetVectorSize(rs_element e);
+<a name="l00139"></a>00139
+<a name="l00140"></a>00140 <span class="preprocessor">#endif // (defined(RS_VERSION) && (RS_VERSION >= 16))</span>
+<a name="l00141"></a>00141 <span class="preprocessor"></span>
+<a name="l00142"></a>00142 <span class="preprocessor">#endif // __RS_ELEMENT_RSH__</span>
+<a name="l00143"></a>00143 <span class="preprocessor"></span>
+</pre></div></div>
+</div>
+
+</body>
+</html>
diff --git a/docs/html/reference/renderscript/rs__graphics_8rsh.html b/docs/html/reference/renderscript/rs__graphics_8rsh.html
index 8a17b30..de62965 100644
--- a/docs/html/reference/renderscript/rs__graphics_8rsh.html
+++ b/docs/html/reference/renderscript/rs__graphics_8rsh.html
@@ -3,7 +3,7 @@
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<title>/src/ics-mr1/frameworks/base/libs/rs/scriptc/rs_graphics.rsh File Reference</title>
+<title>rs_graphics.rsh File Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
@@ -27,10 +27,12 @@
<div class="summary">
<a href="#func-members">Functions</a> </div>
<div class="headertitle">
-<div class="title">/src/ics-mr1/frameworks/base/libs/rs/scriptc/rs_graphics.rsh File Reference</div> </div>
+<div class="title">rs_graphics.rsh File Reference</div> </div>
</div>
<div class="contents">
-<table class="memberdecls">
+<div class="textblock"><code>#include "<a class="el" href="rs__mesh_8rsh_source.html">rs_mesh.rsh</a>"</code><br/>
+<code>#include "<a class="el" href="rs__program_8rsh_source.html">rs_program.rsh</a>"</code><br/>
+</div><table class="memberdecls">
<tr><td colspan="2"><h2><a name="func-members"></a>
Functions</h2></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="rs__graphics_8rsh.html#a9f8deb600729a83c39c5bcaba2152b9c">rsgBindProgramFragment</a> (<a class="el" href="structrs__program__fragment.html">rs_program_fragment</a> pf)</td></tr>
@@ -44,6 +46,8 @@
<tr><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="rs__graphics_8rsh.html#a377b7b394c4bf0881532b1241d4be168">rsgProgramVertexLoadTextureMatrix</a> (const <a class="el" href="structrs__matrix4x4.html">rs_matrix4x4</a> *tex)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="rs__graphics_8rsh.html#a2b767d209b36ffcd2e0fc0cf6f4c5706">rsgProgramVertexGetProjectionMatrix</a> (<a class="el" href="structrs__matrix4x4.html">rs_matrix4x4</a> *proj)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="rs__graphics_8rsh.html#a35ac8c3759e25047e6a458c15520c887">rsgProgramFragmentConstantColor</a> (<a class="el" href="structrs__program__fragment.html">rs_program_fragment</a> pf, float r, float g, float b, float a)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="rs__graphics_8rsh.html#a46208900d16287fde91a5d14ebc830dc">rsgBindConstant</a> (<a class="el" href="structrs__program__fragment.html">rs_program_fragment</a> ps, <a class="el" href="rs__types_8rsh.html#a4f5fce8c1ef282264f9214809524d836">uint</a> slot, <a class="el" href="structrs__allocation.html">rs_allocation</a> c)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="rs__graphics_8rsh.html#a516131032d384bae5be9afa19a257033">rsgBindConstant</a> (<a class="el" href="structrs__program__vertex.html">rs_program_vertex</a> pv, <a class="el" href="rs__types_8rsh.html#a4f5fce8c1ef282264f9214809524d836">uint</a> slot, <a class="el" href="structrs__allocation.html">rs_allocation</a> c)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="rs__types_8rsh.html#a4f5fce8c1ef282264f9214809524d836">uint</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="rs__graphics_8rsh.html#a67f4ed1ca4bba27d5c952ada89cd0717">rsgGetWidth</a> (void)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="rs__types_8rsh.html#a4f5fce8c1ef282264f9214809524d836">uint</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="rs__graphics_8rsh.html#a7e6565cd5d5e44f442a8bf8ba68f4681">rsgGetHeight</a> (void)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="rs__graphics_8rsh.html#a647228d8e15da6ad67a97701d920dcac">rsgAllocationSyncAll</a> (<a class="el" href="structrs__allocation.html">rs_allocation</a> alloc)</td></tr>
@@ -95,6 +99,90 @@
</div>
</div>
+<a class="anchor" id="a46208900d16287fde91a5d14ebc830dc"></a><!-- doxytag: member="rs_graphics.rsh::rsgBindConstant" ref="a46208900d16287fde91a5d14ebc830dc" args="(rs_program_fragment ps, uint slot, rs_allocation c)" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">void rsgBindConstant </td>
+ <td>(</td>
+ <td class="paramtype"><a class="el" href="structrs__program__fragment.html">rs_program_fragment</a> </td>
+ <td class="paramname"><em>ps</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype"><a class="el" href="rs__types_8rsh.html#a4f5fce8c1ef282264f9214809524d836">uint</a> </td>
+ <td class="paramname"><em>slot</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype"><a class="el" href="structrs__allocation.html">rs_allocation</a> </td>
+ <td class="paramname"><em>c</em> </td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+<p>Bind a new Allocation object to a ProgramFragment. The Allocation must be a valid constant input for the Program.</p>
+<dl><dt><b>Parameters:</b></dt><dd>
+ <table class="params">
+ <tr><td class="paramname">ps</td><td>program object </td></tr>
+ <tr><td class="paramname">slot</td><td>index of the constant buffer on the program </td></tr>
+ <tr><td class="paramname">c</td><td>constants to bind </td></tr>
+ </table>
+ </dd>
+</dl>
+
+</div>
+</div>
+<a class="anchor" id="a516131032d384bae5be9afa19a257033"></a><!-- doxytag: member="rs_graphics.rsh::rsgBindConstant" ref="a516131032d384bae5be9afa19a257033" args="(rs_program_vertex pv, uint slot, rs_allocation c)" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">void rsgBindConstant </td>
+ <td>(</td>
+ <td class="paramtype"><a class="el" href="structrs__program__vertex.html">rs_program_vertex</a> </td>
+ <td class="paramname"><em>pv</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype"><a class="el" href="rs__types_8rsh.html#a4f5fce8c1ef282264f9214809524d836">uint</a> </td>
+ <td class="paramname"><em>slot</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype"><a class="el" href="structrs__allocation.html">rs_allocation</a> </td>
+ <td class="paramname"><em>c</em> </td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+<p>Bind a new Allocation object to a ProgramVertex. The Allocation must be a valid constant input for the Program.</p>
+<dl><dt><b>Parameters:</b></dt><dd>
+ <table class="params">
+ <tr><td class="paramname">pv</td><td>program object </td></tr>
+ <tr><td class="paramname">slot</td><td>index of the constant buffer on the program </td></tr>
+ <tr><td class="paramname">c</td><td>constants to bind </td></tr>
+ </table>
+ </dd>
+</dl>
+
+</div>
+</div>
<a class="anchor" id="ae89effef281e92e2940055883ea366d4"></a><!-- doxytag: member="rs_graphics.rsh::rsgBindFont" ref="ae89effef281e92e2940055883ea366d4" args="(rs_font font)" -->
<div class="memitem">
<div class="memproto">
@@ -1185,7 +1273,7 @@
<div class="memdoc">
<p>This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts. </p>
-<p>Definition at line <a class="el" href="rs__graphics_8rsh_source.html#l00380">380</a> of file <a class="el" href="rs__graphics_8rsh_source.html">rs_graphics.rsh</a>.</p>
+<p>Definition at line <a class="el" href="rs__graphics_8rsh_source.html#l00409">409</a> of file <a class="el" href="rs__graphics_8rsh_source.html">rs_graphics.rsh</a>.</p>
</div>
</div>
diff --git a/docs/html/reference/renderscript/rs__graphics_8rsh_source.html b/docs/html/reference/renderscript/rs__graphics_8rsh_source.html
index b9ce0b7..9f673bd 100644
--- a/docs/html/reference/renderscript/rs__graphics_8rsh_source.html
+++ b/docs/html/reference/renderscript/rs__graphics_8rsh_source.html
@@ -3,7 +3,7 @@
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<title>/src/ics-mr1/frameworks/base/libs/rs/scriptc/rs_graphics.rsh Source File</title>
+<title>rs_graphics.rsh Source File</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
@@ -24,11 +24,11 @@
</div>
<div class="header">
<div class="headertitle">
-<div class="title">/src/ics-mr1/frameworks/base/libs/rs/scriptc/rs_graphics.rsh</div> </div>
+<div class="title">rs_graphics.rsh</div> </div>
</div>
<div class="contents">
<a href="rs__graphics_8rsh.html">Go to the documentation of this file.</a><div class="fragment"><pre class="fragment"><a name="l00001"></a>00001 <span class="comment">/*</span>
-<a name="l00002"></a>00002 <span class="comment"> * Copyright (C) 2011 The Android Open Source Project</span>
+<a name="l00002"></a>00002 <span class="comment"> * Copyright (C) 2011-2012 The Android Open Source Project</span>
<a name="l00003"></a>00003 <span class="comment"> *</span>
<a name="l00004"></a>00004 <span class="comment"> * Licensed under the Apache License, Version 2.0 (the "License");</span>
<a name="l00005"></a>00005 <span class="comment"> * you may not use this file except in compliance with the License.</span>
@@ -45,137 +45,150 @@
<a name="l00016"></a>00016
<a name="l00023"></a>00023 <span class="preprocessor">#ifndef __RS_GRAPHICS_RSH__</span>
<a name="l00024"></a>00024 <span class="preprocessor"></span><span class="preprocessor">#define __RS_GRAPHICS_RSH__</span>
-<a name="l00025"></a>00025 <span class="preprocessor"></span><span class="preprocessor">#if (defined(RS_VERSION) && (RS_VERSION >= 14))</span>
-<a name="l00026"></a>00026 <span class="preprocessor"></span>
-<a name="l00031"></a>00031 <span class="keyword">extern</span> <span class="keywordtype">void</span> __attribute__((overloadable))
-<a name="l00032"></a>00032 rsgBindColorTarget(<a class="code" href="structrs__allocation.html" title="Opaque handle to a Renderscript allocation.">rs_allocation</a> colorTarget, <a class="code" href="rs__types_8rsh.html#a4f5fce8c1ef282264f9214809524d836">uint</a> slot);
-<a name="l00033"></a>00033
-<a name="l00038"></a>00038 extern <span class="keywordtype">void</span> __attribute__((overloadable))
-<a name="l00039"></a>00039 rsgClearColorTarget(<a class="code" href="rs__types_8rsh.html#a4f5fce8c1ef282264f9214809524d836">uint</a> slot);
-<a name="l00040"></a>00040
-<a name="l00045"></a>00045 extern <span class="keywordtype">void</span> __attribute__((overloadable))
-<a name="l00046"></a>00046 rsgBindDepthTarget(<a class="code" href="structrs__allocation.html" title="Opaque handle to a Renderscript allocation.">rs_allocation</a> depthTarget);
-<a name="l00047"></a>00047
-<a name="l00051"></a>00051 extern <span class="keywordtype">void</span> __attribute__((overloadable))
-<a name="l00052"></a>00052 rsgClearDepthTarget(<span class="keywordtype">void</span>);
-<a name="l00053"></a>00053
-<a name="l00058"></a>00058 extern <span class="keywordtype">void</span> __attribute__((overloadable))
-<a name="l00059"></a>00059 rsgClearAllRenderTargets(<span class="keywordtype">void</span>);
-<a name="l00060"></a>00060
-<a name="l00064"></a>00064 extern <a class="code" href="rs__types_8rsh.html#a4f5fce8c1ef282264f9214809524d836">uint</a> __attribute__((overloadable))
-<a name="l00065"></a>00065 rsgFinish(<span class="keywordtype">void</span>);
-<a name="l00066"></a>00066
-<a name="l00067"></a>00067 <span class="preprocessor">#endif //defined(RS_VERSION) && (RS_VERSION >= 14)</span>
-<a name="l00068"></a>00068 <span class="preprocessor"></span>
-<a name="l00074"></a>00074 <span class="keyword">extern</span> <span class="keywordtype">void</span> __attribute__((overloadable))
-<a name="l00075"></a>00075 <a class="code" href="rs__graphics_8rsh.html#a9f8deb600729a83c39c5bcaba2152b9c">rsgBindProgramFragment</a>(<a class="code" href="structrs__program__fragment.html" title="Opaque handle to a Renderscript ProgramFragment object.">rs_program_fragment</a> pf);
-<a name="l00076"></a>00076
-<a name="l00082"></a>00082 extern <span class="keywordtype">void</span> __attribute__((overloadable))
-<a name="l00083"></a>00083 <a class="code" href="rs__graphics_8rsh.html#a34dfa6eddd7454fc1865222c5a022315">rsgBindProgramStore</a>(<a class="code" href="structrs__program__store.html" title="Opaque handle to a Renderscript ProgramStore object.">rs_program_store</a> ps);
-<a name="l00084"></a>00084
-<a name="l00090"></a>00090 extern <span class="keywordtype">void</span> __attribute__((overloadable))
-<a name="l00091"></a>00091 <a class="code" href="rs__graphics_8rsh.html#a894e26d0d05d3ef99be65ddf98dd901c">rsgBindProgramVertex</a>(<a class="code" href="structrs__program__vertex.html" title="Opaque handle to a Renderscript ProgramVertex object.">rs_program_vertex</a> pv);
-<a name="l00092"></a>00092
-<a name="l00098"></a>00098 extern <span class="keywordtype">void</span> __attribute__((overloadable))
-<a name="l00099"></a>00099 <a class="code" href="rs__graphics_8rsh.html#a391eb5535544f6312c724b910da6ec35">rsgBindProgramRaster</a>(<a class="code" href="structrs__program__raster.html" title="Opaque handle to a Renderscript ProgramRaster object.">rs_program_raster</a> pr);
-<a name="l00100"></a>00100
-<a name="l00107"></a>00107 extern <span class="keywordtype">void</span> __attribute__((overloadable))
-<a name="l00108"></a>00108 <a class="code" href="rs__graphics_8rsh.html#a4ade6c5acbf6acaa1c29a1aecc6e87d3">rsgBindSampler</a>(<a class="code" href="structrs__program__fragment.html" title="Opaque handle to a Renderscript ProgramFragment object.">rs_program_fragment</a>, <a class="code" href="rs__types_8rsh.html#a4f5fce8c1ef282264f9214809524d836">uint</a> slot, <a class="code" href="structrs__sampler.html" title="Opaque handle to a Renderscript sampler object.">rs_sampler</a>);
-<a name="l00109"></a>00109
-<a name="l00118"></a>00118 extern <span class="keywordtype">void</span> __attribute__((overloadable))
-<a name="l00119"></a>00119 <a class="code" href="rs__graphics_8rsh.html#a1694eb5489bd3a444da921dbf16aeeb5">rsgBindTexture</a>(rs_program_fragment, <a class="code" href="rs__types_8rsh.html#a4f5fce8c1ef282264f9214809524d836">uint</a> slot, <a class="code" href="structrs__allocation.html" title="Opaque handle to a Renderscript allocation.">rs_allocation</a>);
-<a name="l00120"></a>00120
-<a name="l00127"></a>00127 extern <span class="keywordtype">void</span> __attribute__((overloadable))
-<a name="l00128"></a>00128 <a class="code" href="rs__graphics_8rsh.html#a83a87d8efa3f26ed3f8fb25e49f29059">rsgProgramVertexLoadProjectionMatrix</a>(const <a class="code" href="structrs__matrix4x4.html" title="4x4 float matrix">rs_matrix4x4</a> *proj);
-<a name="l00135"></a>00135 extern <span class="keywordtype">void</span> __attribute__((overloadable))
-<a name="l00136"></a>00136 <a class="code" href="rs__graphics_8rsh.html#a976b8594cccb4b94d7ce520b44d884e3">rsgProgramVertexLoadModelMatrix</a>(const <a class="code" href="structrs__matrix4x4.html" title="4x4 float matrix">rs_matrix4x4</a> *model);
-<a name="l00143"></a>00143 extern <span class="keywordtype">void</span> __attribute__((overloadable))
-<a name="l00144"></a>00144 <a class="code" href="rs__graphics_8rsh.html#a377b7b394c4bf0881532b1241d4be168">rsgProgramVertexLoadTextureMatrix</a>(const <a class="code" href="structrs__matrix4x4.html" title="4x4 float matrix">rs_matrix4x4</a> *tex);
-<a name="l00151"></a>00151 extern <span class="keywordtype">void</span> __attribute__((overloadable))
-<a name="l00152"></a>00152 <a class="code" href="rs__graphics_8rsh.html#a2b767d209b36ffcd2e0fc0cf6f4c5706">rsgProgramVertexGetProjectionMatrix</a>(<a class="code" href="structrs__matrix4x4.html" title="4x4 float matrix">rs_matrix4x4</a> *proj);
-<a name="l00153"></a>00153
-<a name="l00163"></a>00163 extern <span class="keywordtype">void</span> __attribute__((overloadable))
-<a name="l00164"></a>00164 <a class="code" href="rs__graphics_8rsh.html#a35ac8c3759e25047e6a458c15520c887">rsgProgramFragmentConstantColor</a>(rs_program_fragment pf, <span class="keywordtype">float</span> r, <span class="keywordtype">float</span> g, <span class="keywordtype">float</span> b, <span class="keywordtype">float</span> a);
-<a name="l00165"></a>00165
-<a name="l00171"></a>00171 extern <a class="code" href="rs__types_8rsh.html#a4f5fce8c1ef282264f9214809524d836">uint</a> __attribute__((overloadable))
-<a name="l00172"></a>00172 <a class="code" href="rs__graphics_8rsh.html#a67f4ed1ca4bba27d5c952ada89cd0717">rsgGetWidth</a>(<span class="keywordtype">void</span>);
-<a name="l00173"></a>00173
-<a name="l00179"></a>00179 extern <a class="code" href="rs__types_8rsh.html#a4f5fce8c1ef282264f9214809524d836">uint</a> __attribute__((overloadable))
-<a name="l00180"></a>00180 <a class="code" href="rs__graphics_8rsh.html#a7e6565cd5d5e44f442a8bf8ba68f4681">rsgGetHeight</a>(<span class="keywordtype">void</span>);
-<a name="l00181"></a>00181
-<a name="l00182"></a>00182
+<a name="l00025"></a>00025 <span class="preprocessor"></span>
+<a name="l00026"></a>00026 <span class="preprocessor">#include "<a class="code" href="rs__mesh_8rsh.html" title="Mesh routines.">rs_mesh.rsh</a>"</span>
+<a name="l00027"></a>00027 <span class="preprocessor">#include "<a class="code" href="rs__program_8rsh.html" title="Program object routines.">rs_program.rsh</a>"</span>
+<a name="l00028"></a>00028
+<a name="l00029"></a>00029 <span class="preprocessor">#if (defined(RS_VERSION) && (RS_VERSION >= 14))</span>
+<a name="l00030"></a>00030 <span class="preprocessor"></span>
+<a name="l00035"></a>00035 <span class="keyword">extern</span> <span class="keywordtype">void</span> __attribute__((overloadable))
+<a name="l00036"></a>00036 rsgBindColorTarget(<a class="code" href="structrs__allocation.html" title="Opaque handle to a Renderscript allocation.">rs_allocation</a> colorTarget, <a class="code" href="rs__types_8rsh.html#a4f5fce8c1ef282264f9214809524d836">uint</a> slot);
+<a name="l00037"></a>00037
+<a name="l00042"></a>00042 extern <span class="keywordtype">void</span> __attribute__((overloadable))
+<a name="l00043"></a>00043 rsgClearColorTarget(<a class="code" href="rs__types_8rsh.html#a4f5fce8c1ef282264f9214809524d836">uint</a> slot);
+<a name="l00044"></a>00044
+<a name="l00049"></a>00049 extern <span class="keywordtype">void</span> __attribute__((overloadable))
+<a name="l00050"></a>00050 rsgBindDepthTarget(<a class="code" href="structrs__allocation.html" title="Opaque handle to a Renderscript allocation.">rs_allocation</a> depthTarget);
+<a name="l00051"></a>00051
+<a name="l00055"></a>00055 extern <span class="keywordtype">void</span> __attribute__((overloadable))
+<a name="l00056"></a>00056 rsgClearDepthTarget(<span class="keywordtype">void</span>);
+<a name="l00057"></a>00057
+<a name="l00062"></a>00062 extern <span class="keywordtype">void</span> __attribute__((overloadable))
+<a name="l00063"></a>00063 rsgClearAllRenderTargets(<span class="keywordtype">void</span>);
+<a name="l00064"></a>00064
+<a name="l00068"></a>00068 extern <a class="code" href="rs__types_8rsh.html#a4f5fce8c1ef282264f9214809524d836">uint</a> __attribute__((overloadable))
+<a name="l00069"></a>00069 rsgFinish(<span class="keywordtype">void</span>);
+<a name="l00070"></a>00070
+<a name="l00071"></a>00071 <span class="preprocessor">#endif //defined(RS_VERSION) && (RS_VERSION >= 14)</span>
+<a name="l00072"></a>00072 <span class="preprocessor"></span>
+<a name="l00078"></a>00078 <span class="keyword">extern</span> <span class="keywordtype">void</span> __attribute__((overloadable))
+<a name="l00079"></a>00079 <a class="code" href="rs__graphics_8rsh.html#a9f8deb600729a83c39c5bcaba2152b9c">rsgBindProgramFragment</a>(<a class="code" href="structrs__program__fragment.html" title="Opaque handle to a Renderscript ProgramFragment object.">rs_program_fragment</a> pf);
+<a name="l00080"></a>00080
+<a name="l00086"></a>00086 extern <span class="keywordtype">void</span> __attribute__((overloadable))
+<a name="l00087"></a>00087 <a class="code" href="rs__graphics_8rsh.html#a34dfa6eddd7454fc1865222c5a022315">rsgBindProgramStore</a>(<a class="code" href="structrs__program__store.html" title="Opaque handle to a Renderscript ProgramStore object.">rs_program_store</a> ps);
+<a name="l00088"></a>00088
+<a name="l00094"></a>00094 extern <span class="keywordtype">void</span> __attribute__((overloadable))
+<a name="l00095"></a>00095 <a class="code" href="rs__graphics_8rsh.html#a894e26d0d05d3ef99be65ddf98dd901c">rsgBindProgramVertex</a>(<a class="code" href="structrs__program__vertex.html" title="Opaque handle to a Renderscript ProgramVertex object.">rs_program_vertex</a> pv);
+<a name="l00096"></a>00096
+<a name="l00102"></a>00102 extern <span class="keywordtype">void</span> __attribute__((overloadable))
+<a name="l00103"></a>00103 <a class="code" href="rs__graphics_8rsh.html#a391eb5535544f6312c724b910da6ec35">rsgBindProgramRaster</a>(<a class="code" href="structrs__program__raster.html" title="Opaque handle to a Renderscript ProgramRaster object.">rs_program_raster</a> pr);
+<a name="l00104"></a>00104
+<a name="l00111"></a>00111 extern <span class="keywordtype">void</span> __attribute__((overloadable))
+<a name="l00112"></a>00112 <a class="code" href="rs__graphics_8rsh.html#a4ade6c5acbf6acaa1c29a1aecc6e87d3">rsgBindSampler</a>(<a class="code" href="structrs__program__fragment.html" title="Opaque handle to a Renderscript ProgramFragment object.">rs_program_fragment</a>, <a class="code" href="rs__types_8rsh.html#a4f5fce8c1ef282264f9214809524d836">uint</a> slot, <a class="code" href="structrs__sampler.html" title="Opaque handle to a Renderscript sampler object.">rs_sampler</a>);
+<a name="l00113"></a>00113
+<a name="l00122"></a>00122 extern <span class="keywordtype">void</span> __attribute__((overloadable))
+<a name="l00123"></a>00123 <a class="code" href="rs__graphics_8rsh.html#a1694eb5489bd3a444da921dbf16aeeb5">rsgBindTexture</a>(rs_program_fragment, <a class="code" href="rs__types_8rsh.html#a4f5fce8c1ef282264f9214809524d836">uint</a> slot, <a class="code" href="structrs__allocation.html" title="Opaque handle to a Renderscript allocation.">rs_allocation</a>);
+<a name="l00124"></a>00124
+<a name="l00131"></a>00131 extern <span class="keywordtype">void</span> __attribute__((overloadable))
+<a name="l00132"></a>00132 <a class="code" href="rs__graphics_8rsh.html#a83a87d8efa3f26ed3f8fb25e49f29059">rsgProgramVertexLoadProjectionMatrix</a>(const <a class="code" href="structrs__matrix4x4.html" title="4x4 float matrix">rs_matrix4x4</a> *proj);
+<a name="l00139"></a>00139 extern <span class="keywordtype">void</span> __attribute__((overloadable))
+<a name="l00140"></a>00140 <a class="code" href="rs__graphics_8rsh.html#a976b8594cccb4b94d7ce520b44d884e3">rsgProgramVertexLoadModelMatrix</a>(const <a class="code" href="structrs__matrix4x4.html" title="4x4 float matrix">rs_matrix4x4</a> *model);
+<a name="l00147"></a>00147 extern <span class="keywordtype">void</span> __attribute__((overloadable))
+<a name="l00148"></a>00148 <a class="code" href="rs__graphics_8rsh.html#a377b7b394c4bf0881532b1241d4be168">rsgProgramVertexLoadTextureMatrix</a>(const <a class="code" href="structrs__matrix4x4.html" title="4x4 float matrix">rs_matrix4x4</a> *tex);
+<a name="l00155"></a>00155 extern <span class="keywordtype">void</span> __attribute__((overloadable))
+<a name="l00156"></a>00156 <a class="code" href="rs__graphics_8rsh.html#a2b767d209b36ffcd2e0fc0cf6f4c5706">rsgProgramVertexGetProjectionMatrix</a>(<a class="code" href="structrs__matrix4x4.html" title="4x4 float matrix">rs_matrix4x4</a> *proj);
+<a name="l00157"></a>00157
+<a name="l00167"></a>00167 extern <span class="keywordtype">void</span> __attribute__((overloadable))
+<a name="l00168"></a>00168 <a class="code" href="rs__graphics_8rsh.html#a35ac8c3759e25047e6a458c15520c887">rsgProgramFragmentConstantColor</a>(rs_program_fragment pf, <span class="keywordtype">float</span> r, <span class="keywordtype">float</span> g, <span class="keywordtype">float</span> b, <span class="keywordtype">float</span> a);
+<a name="l00169"></a>00169
+<a name="l00178"></a>00178 extern <span class="keywordtype">void</span> __attribute__((overloadable))
+<a name="l00179"></a>00179 <a class="code" href="rs__graphics_8rsh.html#a46208900d16287fde91a5d14ebc830dc">rsgBindConstant</a>(rs_program_fragment ps, <a class="code" href="rs__types_8rsh.html#a4f5fce8c1ef282264f9214809524d836">uint</a> slot, rs_allocation c);
+<a name="l00180"></a>00180
<a name="l00189"></a>00189 extern <span class="keywordtype">void</span> __attribute__((overloadable))
-<a name="l00190"></a>00190 <a class="code" href="rs__graphics_8rsh.html#a647228d8e15da6ad67a97701d920dcac">rsgAllocationSyncAll</a>(rs_allocation alloc);
+<a name="l00190"></a>00190 <a class="code" href="rs__graphics_8rsh.html#a46208900d16287fde91a5d14ebc830dc">rsgBindConstant</a>(<a class="code" href="structrs__program__vertex.html" title="Opaque handle to a Renderscript ProgramVertex object.">rs_program_vertex</a> pv, <a class="code" href="rs__types_8rsh.html#a4f5fce8c1ef282264f9214809524d836">uint</a> slot, rs_allocation c);
<a name="l00191"></a>00191
-<a name="l00192"></a>00192 <span class="preprocessor">#if (defined(RS_VERSION) && (RS_VERSION >= 14))</span>
-<a name="l00193"></a>00193 <span class="preprocessor"></span>
-<a name="l00201"></a>00201 <span class="keyword">extern</span> <span class="keywordtype">void</span> __attribute__((overloadable))
-<a name="l00202"></a>00202 <a class="code" href="rs__graphics_8rsh.html#a647228d8e15da6ad67a97701d920dcac">rsgAllocationSyncAll</a>(rs_allocation alloc,
-<a name="l00203"></a>00203 rs_allocation_usage_type source);
-<a name="l00204"></a>00204
-<a name="l00205"></a>00205 <span class="preprocessor">#endif //defined(RS_VERSION) && (RS_VERSION >= 14)</span>
-<a name="l00206"></a>00206 <span class="preprocessor"></span>
-<a name="l00217"></a>00217 <span class="keyword">extern</span> <span class="keywordtype">void</span> __attribute__((overloadable))
-<a name="l00218"></a>00218 <a class="code" href="rs__graphics_8rsh.html#a80c51849bf12ec6c699c23c3fa3e6208">rsgDrawRect</a>(<span class="keywordtype">float</span> x1, <span class="keywordtype">float</span> y1, <span class="keywordtype">float</span> x2, <span class="keywordtype">float</span> y2, <span class="keywordtype">float</span> z);
-<a name="l00219"></a>00219
-<a name="l00237"></a>00237 extern <span class="keywordtype">void</span> __attribute__((overloadable))
-<a name="l00238"></a>00238 <a class="code" href="rs__graphics_8rsh.html#ad6953da0349e58547b08b8ce174ed3fc">rsgDrawQuad</a>(<span class="keywordtype">float</span> x1, <span class="keywordtype">float</span> y1, <span class="keywordtype">float</span> z1,
-<a name="l00239"></a>00239 <span class="keywordtype">float</span> x2, <span class="keywordtype">float</span> y2, <span class="keywordtype">float</span> z2,
-<a name="l00240"></a>00240 <span class="keywordtype">float</span> x3, <span class="keywordtype">float</span> y3, <span class="keywordtype">float</span> z3,
-<a name="l00241"></a>00241 <span class="keywordtype">float</span> x4, <span class="keywordtype">float</span> y4, <span class="keywordtype">float</span> z4);
-<a name="l00242"></a>00242
-<a name="l00243"></a>00243
-<a name="l00269"></a>00269 extern <span class="keywordtype">void</span> __attribute__((overloadable))
-<a name="l00270"></a>00270 <a class="code" href="rs__graphics_8rsh.html#afb98a59bb9f878f0a09459567c269e64">rsgDrawQuadTexCoords</a>(<span class="keywordtype">float</span> x1, <span class="keywordtype">float</span> y1, <span class="keywordtype">float</span> z1, <span class="keywordtype">float</span> u1, <span class="keywordtype">float</span> v1,
-<a name="l00271"></a>00271 <span class="keywordtype">float</span> x2, <span class="keywordtype">float</span> y2, <span class="keywordtype">float</span> z2, <span class="keywordtype">float</span> u2, <span class="keywordtype">float</span> v2,
-<a name="l00272"></a>00272 <span class="keywordtype">float</span> x3, <span class="keywordtype">float</span> y3, <span class="keywordtype">float</span> z3, <span class="keywordtype">float</span> u3, <span class="keywordtype">float</span> v3,
-<a name="l00273"></a>00273 <span class="keywordtype">float</span> x4, <span class="keywordtype">float</span> y4, <span class="keywordtype">float</span> z4, <span class="keywordtype">float</span> u4, <span class="keywordtype">float</span> v4);
-<a name="l00274"></a>00274
-<a name="l00275"></a>00275
-<a name="l00288"></a>00288 extern <span class="keywordtype">void</span> __attribute__((overloadable))
-<a name="l00289"></a>00289 <a class="code" href="rs__graphics_8rsh.html#a07d15127330fa1dff6c99b0d7d14e65e">rsgDrawSpriteScreenspace</a>(<span class="keywordtype">float</span> x, <span class="keywordtype">float</span> y, <span class="keywordtype">float</span> z, <span class="keywordtype">float</span> w, <span class="keywordtype">float</span> h);
-<a name="l00290"></a>00290
-<a name="l00297"></a>00297 extern <span class="keywordtype">void</span> __attribute__((overloadable))
-<a name="l00298"></a>00298 <a class="code" href="rs__graphics_8rsh.html#a6f8b87c994810908fbe5e01f8f63f9af">rsgDrawMesh</a>(<a class="code" href="structrs__mesh.html" title="Opaque handle to a Renderscript mesh object.">rs_mesh</a> ism);
-<a name="l00305"></a>00305 extern <span class="keywordtype">void</span> __attribute__((overloadable))
-<a name="l00306"></a>00306 <a class="code" href="rs__graphics_8rsh.html#a6f8b87c994810908fbe5e01f8f63f9af">rsgDrawMesh</a>(<a class="code" href="structrs__mesh.html" title="Opaque handle to a Renderscript mesh object.">rs_mesh</a> ism, <a class="code" href="rs__types_8rsh.html#a4f5fce8c1ef282264f9214809524d836">uint</a> primitiveIndex);
-<a name="l00315"></a>00315 extern <span class="keywordtype">void</span> __attribute__((overloadable))
-<a name="l00316"></a>00316 <a class="code" href="rs__graphics_8rsh.html#a6f8b87c994810908fbe5e01f8f63f9af">rsgDrawMesh</a>(<a class="code" href="structrs__mesh.html" title="Opaque handle to a Renderscript mesh object.">rs_mesh</a> ism, <a class="code" href="rs__types_8rsh.html#a4f5fce8c1ef282264f9214809524d836">uint</a> primitiveIndex, <a class="code" href="rs__types_8rsh.html#a4f5fce8c1ef282264f9214809524d836">uint</a> start, <a class="code" href="rs__types_8rsh.html#a4f5fce8c1ef282264f9214809524d836">uint</a> len);
-<a name="l00317"></a>00317
+<a name="l00197"></a>00197 extern <a class="code" href="rs__types_8rsh.html#a4f5fce8c1ef282264f9214809524d836">uint</a> __attribute__((overloadable))
+<a name="l00198"></a>00198 <a class="code" href="rs__graphics_8rsh.html#a67f4ed1ca4bba27d5c952ada89cd0717">rsgGetWidth</a>(<span class="keywordtype">void</span>);
+<a name="l00199"></a>00199
+<a name="l00205"></a>00205 extern <a class="code" href="rs__types_8rsh.html#a4f5fce8c1ef282264f9214809524d836">uint</a> __attribute__((overloadable))
+<a name="l00206"></a>00206 <a class="code" href="rs__graphics_8rsh.html#a7e6565cd5d5e44f442a8bf8ba68f4681">rsgGetHeight</a>(<span class="keywordtype">void</span>);
+<a name="l00207"></a>00207
+<a name="l00208"></a>00208
+<a name="l00215"></a>00215 extern <span class="keywordtype">void</span> __attribute__((overloadable))
+<a name="l00216"></a>00216 <a class="code" href="rs__graphics_8rsh.html#a647228d8e15da6ad67a97701d920dcac">rsgAllocationSyncAll</a>(rs_allocation alloc);
+<a name="l00217"></a>00217
+<a name="l00218"></a>00218 <span class="preprocessor">#if (defined(RS_VERSION) && (RS_VERSION >= 14))</span>
+<a name="l00219"></a>00219 <span class="preprocessor"></span>
+<a name="l00227"></a>00227 <span class="keyword">extern</span> <span class="keywordtype">void</span> __attribute__((overloadable))
+<a name="l00228"></a>00228 <a class="code" href="rs__graphics_8rsh.html#a647228d8e15da6ad67a97701d920dcac">rsgAllocationSyncAll</a>(rs_allocation alloc,
+<a name="l00229"></a>00229 rs_allocation_usage_type source);
+<a name="l00230"></a>00230
+<a name="l00231"></a>00231 <span class="preprocessor">#endif //defined(RS_VERSION) && (RS_VERSION >= 14)</span>
+<a name="l00232"></a>00232 <span class="preprocessor"></span>
+<a name="l00243"></a>00243 <span class="keyword">extern</span> <span class="keywordtype">void</span> __attribute__((overloadable))
+<a name="l00244"></a>00244 <a class="code" href="rs__graphics_8rsh.html#a80c51849bf12ec6c699c23c3fa3e6208">rsgDrawRect</a>(<span class="keywordtype">float</span> x1, <span class="keywordtype">float</span> y1, <span class="keywordtype">float</span> x2, <span class="keywordtype">float</span> y2, <span class="keywordtype">float</span> z);
+<a name="l00245"></a>00245
+<a name="l00263"></a>00263 extern <span class="keywordtype">void</span> __attribute__((overloadable))
+<a name="l00264"></a>00264 <a class="code" href="rs__graphics_8rsh.html#ad6953da0349e58547b08b8ce174ed3fc">rsgDrawQuad</a>(<span class="keywordtype">float</span> x1, <span class="keywordtype">float</span> y1, <span class="keywordtype">float</span> z1,
+<a name="l00265"></a>00265 <span class="keywordtype">float</span> x2, <span class="keywordtype">float</span> y2, <span class="keywordtype">float</span> z2,
+<a name="l00266"></a>00266 <span class="keywordtype">float</span> x3, <span class="keywordtype">float</span> y3, <span class="keywordtype">float</span> z3,
+<a name="l00267"></a>00267 <span class="keywordtype">float</span> x4, <span class="keywordtype">float</span> y4, <span class="keywordtype">float</span> z4);
+<a name="l00268"></a>00268
+<a name="l00269"></a>00269
+<a name="l00295"></a>00295 extern <span class="keywordtype">void</span> __attribute__((overloadable))
+<a name="l00296"></a>00296 <a class="code" href="rs__graphics_8rsh.html#afb98a59bb9f878f0a09459567c269e64">rsgDrawQuadTexCoords</a>(<span class="keywordtype">float</span> x1, <span class="keywordtype">float</span> y1, <span class="keywordtype">float</span> z1, <span class="keywordtype">float</span> u1, <span class="keywordtype">float</span> v1,
+<a name="l00297"></a>00297 <span class="keywordtype">float</span> x2, <span class="keywordtype">float</span> y2, <span class="keywordtype">float</span> z2, <span class="keywordtype">float</span> u2, <span class="keywordtype">float</span> v2,
+<a name="l00298"></a>00298 <span class="keywordtype">float</span> x3, <span class="keywordtype">float</span> y3, <span class="keywordtype">float</span> z3, <span class="keywordtype">float</span> u3, <span class="keywordtype">float</span> v3,
+<a name="l00299"></a>00299 <span class="keywordtype">float</span> x4, <span class="keywordtype">float</span> y4, <span class="keywordtype">float</span> z4, <span class="keywordtype">float</span> u4, <span class="keywordtype">float</span> v4);
+<a name="l00300"></a>00300
+<a name="l00301"></a>00301
+<a name="l00314"></a>00314 extern <span class="keywordtype">void</span> __attribute__((overloadable))
+<a name="l00315"></a>00315 <a class="code" href="rs__graphics_8rsh.html#a07d15127330fa1dff6c99b0d7d14e65e">rsgDrawSpriteScreenspace</a>(<span class="keywordtype">float</span> x, <span class="keywordtype">float</span> y, <span class="keywordtype">float</span> z, <span class="keywordtype">float</span> w, <span class="keywordtype">float</span> h);
+<a name="l00316"></a>00316
+<a name="l00317"></a>00317 extern <span class="keywordtype">void</span> __attribute__((overloadable))
+<a name="l00318"></a>00318 rsgDrawPath(<a class="code" href="structrs__path.html" title="Opaque handle to a Renderscript Path object.">rs_path</a> p);
+<a name="l00319"></a>00319
<a name="l00326"></a>00326 extern <span class="keywordtype">void</span> __attribute__((overloadable))
-<a name="l00327"></a>00327 <a class="code" href="rs__graphics_8rsh.html#a147674fed92745fbb5c64a6300ca3c49">rsgClearColor</a>(<span class="keywordtype">float</span> r, <span class="keywordtype">float</span> g, <span class="keywordtype">float</span> b, <span class="keywordtype">float</span> a);
-<a name="l00328"></a>00328
-<a name="l00332"></a>00332 extern <span class="keywordtype">void</span> __attribute__((overloadable))
-<a name="l00333"></a>00333 <a class="code" href="rs__graphics_8rsh.html#a4bedb06e8facd587e3eacd746fe3e727">rsgClearDepth</a>(<span class="keywordtype">float</span> value);
-<a name="l00337"></a>00337 extern <span class="keywordtype">void</span> __attribute__((overloadable))
-<a name="l00338"></a>00338 <a class="code" href="rs__graphics_8rsh.html#afaec82492762e62cad1ff53ada479b14">rsgDrawText</a>(const <span class="keywordtype">char</span> *, <span class="keywordtype">int</span> x, <span class="keywordtype">int</span> y);
-<a name="l00342"></a>00342 extern <span class="keywordtype">void</span> __attribute__((overloadable))
-<a name="l00343"></a>00343 <a class="code" href="rs__graphics_8rsh.html#afaec82492762e62cad1ff53ada479b14">rsgDrawText</a>(rs_allocation, <span class="keywordtype">int</span> x, <span class="keywordtype">int</span> y);
-<a name="l00348"></a>00348 extern <span class="keywordtype">void</span> __attribute__((overloadable))
-<a name="l00349"></a>00349 <a class="code" href="rs__graphics_8rsh.html#ae89effef281e92e2940055883ea366d4">rsgBindFont</a>(<a class="code" href="structrs__font.html" title="Opaque handle to a Renderscript font object.">rs_font</a> font);
-<a name="l00357"></a>00357 extern <span class="keywordtype">void</span> __attribute__((overloadable))
-<a name="l00358"></a>00358 <a class="code" href="rs__graphics_8rsh.html#abda8c344092ed6310c7a8f353a6df876">rsgFontColor</a>(<span class="keywordtype">float</span> r, <span class="keywordtype">float</span> g, <span class="keywordtype">float</span> b, <span class="keywordtype">float</span> a);
-<a name="l00363"></a>00363 extern <span class="keywordtype">void</span> __attribute__((overloadable))
-<a name="l00364"></a>00364 <a class="code" href="rs__graphics_8rsh.html#a5c599f4ea989f3d0616cbf8e983688c4">rsgMeasureText</a>(const <span class="keywordtype">char</span> *, <span class="keywordtype">int</span> *left, <span class="keywordtype">int</span> *right, <span class="keywordtype">int</span> *top, <span class="keywordtype">int</span> *bottom);
-<a name="l00368"></a>00368 extern <span class="keywordtype">void</span> __attribute__((overloadable))
-<a name="l00369"></a>00369 <a class="code" href="rs__graphics_8rsh.html#a5c599f4ea989f3d0616cbf8e983688c4">rsgMeasureText</a>(rs_allocation, <span class="keywordtype">int</span> *left, <span class="keywordtype">int</span> *right, <span class="keywordtype">int</span> *top, <span class="keywordtype">int</span> *bottom);
-<a name="l00373"></a>00373 extern <span class="keywordtype">void</span> __attribute__((overloadable))
-<a name="l00374"></a>00374 <a class="code" href="rs__graphics_8rsh.html#a0978c54902dd1d60180f8dbb0b781105">rsgMeshComputeBoundingBox</a>(<a class="code" href="structrs__mesh.html" title="Opaque handle to a Renderscript mesh object.">rs_mesh</a> mesh, <span class="keywordtype">float</span> *minX, <span class="keywordtype">float</span> *minY, <span class="keywordtype">float</span> *minZ,
-<a name="l00375"></a>00375 <span class="keywordtype">float</span> *maxX, <span class="keywordtype">float</span> *maxY, <span class="keywordtype">float</span> *maxZ);
-<a name="l00379"></a>00379 __inline__ static <span class="keywordtype">void</span> __attribute__((overloadable, always_inline))
-<a name="l00380"></a><a class="code" href="rs__graphics_8rsh.html#a6058b6b6c8b94f96f03dc8bca6a2090b">00380</a> <a class="code" href="rs__graphics_8rsh.html#a0978c54902dd1d60180f8dbb0b781105">rsgMeshComputeBoundingBox</a>(<a class="code" href="structrs__mesh.html" title="Opaque handle to a Renderscript mesh object.">rs_mesh</a> mesh, <a class="code" href="rs__types_8rsh.html#a0046fa0f208d0899adbcf1f8b5aafadd">float3</a> *bBoxMin, <a class="code" href="rs__types_8rsh.html#a0046fa0f208d0899adbcf1f8b5aafadd">float3</a> *bBoxMax) {
-<a name="l00381"></a>00381 <span class="keywordtype">float</span> x1, y1, z1, x2, y2, z2;
-<a name="l00382"></a>00382 <a class="code" href="rs__graphics_8rsh.html#a0978c54902dd1d60180f8dbb0b781105">rsgMeshComputeBoundingBox</a>(mesh, &x1, &y1, &z1, &x2, &y2, &z2);
-<a name="l00383"></a>00383 bBoxMin->x = x1;
-<a name="l00384"></a>00384 bBoxMin->y = y1;
-<a name="l00385"></a>00385 bBoxMin->z = z1;
-<a name="l00386"></a>00386 bBoxMax->x = x2;
-<a name="l00387"></a>00387 bBoxMax->y = y2;
-<a name="l00388"></a>00388 bBoxMax->z = z2;
-<a name="l00389"></a>00389 }
-<a name="l00390"></a>00390
-<a name="l00391"></a>00391 <span class="preprocessor">#endif</span>
-<a name="l00392"></a>00392 <span class="preprocessor"></span>
+<a name="l00327"></a>00327 <a class="code" href="rs__graphics_8rsh.html#a6f8b87c994810908fbe5e01f8f63f9af">rsgDrawMesh</a>(<a class="code" href="structrs__mesh.html" title="Opaque handle to a Renderscript mesh object.">rs_mesh</a> ism);
+<a name="l00334"></a>00334 extern <span class="keywordtype">void</span> __attribute__((overloadable))
+<a name="l00335"></a>00335 <a class="code" href="rs__graphics_8rsh.html#a6f8b87c994810908fbe5e01f8f63f9af">rsgDrawMesh</a>(<a class="code" href="structrs__mesh.html" title="Opaque handle to a Renderscript mesh object.">rs_mesh</a> ism, <a class="code" href="rs__types_8rsh.html#a4f5fce8c1ef282264f9214809524d836">uint</a> primitiveIndex);
+<a name="l00344"></a>00344 extern <span class="keywordtype">void</span> __attribute__((overloadable))
+<a name="l00345"></a>00345 <a class="code" href="rs__graphics_8rsh.html#a6f8b87c994810908fbe5e01f8f63f9af">rsgDrawMesh</a>(<a class="code" href="structrs__mesh.html" title="Opaque handle to a Renderscript mesh object.">rs_mesh</a> ism, <a class="code" href="rs__types_8rsh.html#a4f5fce8c1ef282264f9214809524d836">uint</a> primitiveIndex, <a class="code" href="rs__types_8rsh.html#a4f5fce8c1ef282264f9214809524d836">uint</a> start, <a class="code" href="rs__types_8rsh.html#a4f5fce8c1ef282264f9214809524d836">uint</a> len);
+<a name="l00346"></a>00346
+<a name="l00355"></a>00355 extern <span class="keywordtype">void</span> __attribute__((overloadable))
+<a name="l00356"></a>00356 <a class="code" href="rs__graphics_8rsh.html#a147674fed92745fbb5c64a6300ca3c49">rsgClearColor</a>(<span class="keywordtype">float</span> r, <span class="keywordtype">float</span> g, <span class="keywordtype">float</span> b, <span class="keywordtype">float</span> a);
+<a name="l00357"></a>00357
+<a name="l00361"></a>00361 extern <span class="keywordtype">void</span> __attribute__((overloadable))
+<a name="l00362"></a>00362 <a class="code" href="rs__graphics_8rsh.html#a4bedb06e8facd587e3eacd746fe3e727">rsgClearDepth</a>(<span class="keywordtype">float</span> value);
+<a name="l00366"></a>00366 extern <span class="keywordtype">void</span> __attribute__((overloadable))
+<a name="l00367"></a>00367 <a class="code" href="rs__graphics_8rsh.html#afaec82492762e62cad1ff53ada479b14">rsgDrawText</a>(const <span class="keywordtype">char</span> *, <span class="keywordtype">int</span> x, <span class="keywordtype">int</span> y);
+<a name="l00371"></a>00371 extern <span class="keywordtype">void</span> __attribute__((overloadable))
+<a name="l00372"></a>00372 <a class="code" href="rs__graphics_8rsh.html#afaec82492762e62cad1ff53ada479b14">rsgDrawText</a>(rs_allocation, <span class="keywordtype">int</span> x, <span class="keywordtype">int</span> y);
+<a name="l00377"></a>00377 extern <span class="keywordtype">void</span> __attribute__((overloadable))
+<a name="l00378"></a>00378 <a class="code" href="rs__graphics_8rsh.html#ae89effef281e92e2940055883ea366d4">rsgBindFont</a>(<a class="code" href="structrs__font.html" title="Opaque handle to a Renderscript font object.">rs_font</a> font);
+<a name="l00386"></a>00386 extern <span class="keywordtype">void</span> __attribute__((overloadable))
+<a name="l00387"></a>00387 <a class="code" href="rs__graphics_8rsh.html#abda8c344092ed6310c7a8f353a6df876">rsgFontColor</a>(<span class="keywordtype">float</span> r, <span class="keywordtype">float</span> g, <span class="keywordtype">float</span> b, <span class="keywordtype">float</span> a);
+<a name="l00392"></a>00392 extern <span class="keywordtype">void</span> __attribute__((overloadable))
+<a name="l00393"></a>00393 <a class="code" href="rs__graphics_8rsh.html#a5c599f4ea989f3d0616cbf8e983688c4">rsgMeasureText</a>(const <span class="keywordtype">char</span> *, <span class="keywordtype">int</span> *left, <span class="keywordtype">int</span> *right, <span class="keywordtype">int</span> *top, <span class="keywordtype">int</span> *bottom);
+<a name="l00397"></a>00397 extern <span class="keywordtype">void</span> __attribute__((overloadable))
+<a name="l00398"></a>00398 <a class="code" href="rs__graphics_8rsh.html#a5c599f4ea989f3d0616cbf8e983688c4">rsgMeasureText</a>(rs_allocation, <span class="keywordtype">int</span> *left, <span class="keywordtype">int</span> *right, <span class="keywordtype">int</span> *top, <span class="keywordtype">int</span> *bottom);
+<a name="l00402"></a>00402 extern <span class="keywordtype">void</span> __attribute__((overloadable))
+<a name="l00403"></a>00403 <a class="code" href="rs__graphics_8rsh.html#a0978c54902dd1d60180f8dbb0b781105">rsgMeshComputeBoundingBox</a>(<a class="code" href="structrs__mesh.html" title="Opaque handle to a Renderscript mesh object.">rs_mesh</a> mesh, <span class="keywordtype">float</span> *minX, <span class="keywordtype">float</span> *minY, <span class="keywordtype">float</span> *minZ,
+<a name="l00404"></a>00404 <span class="keywordtype">float</span> *maxX, <span class="keywordtype">float</span> *maxY, <span class="keywordtype">float</span> *maxZ);
+<a name="l00408"></a>00408 __inline__ static <span class="keywordtype">void</span> __attribute__((overloadable, always_inline))
+<a name="l00409"></a><a class="code" href="rs__graphics_8rsh.html#a6058b6b6c8b94f96f03dc8bca6a2090b">00409</a> <a class="code" href="rs__graphics_8rsh.html#a0978c54902dd1d60180f8dbb0b781105">rsgMeshComputeBoundingBox</a>(<a class="code" href="structrs__mesh.html" title="Opaque handle to a Renderscript mesh object.">rs_mesh</a> mesh, <a class="code" href="rs__types_8rsh.html#a0046fa0f208d0899adbcf1f8b5aafadd">float3</a> *bBoxMin, <a class="code" href="rs__types_8rsh.html#a0046fa0f208d0899adbcf1f8b5aafadd">float3</a> *bBoxMax) {
+<a name="l00410"></a>00410 <span class="keywordtype">float</span> x1, y1, z1, x2, y2, z2;
+<a name="l00411"></a>00411 <a class="code" href="rs__graphics_8rsh.html#a0978c54902dd1d60180f8dbb0b781105">rsgMeshComputeBoundingBox</a>(mesh, &x1, &y1, &z1, &x2, &y2, &z2);
+<a name="l00412"></a>00412 bBoxMin->x = x1;
+<a name="l00413"></a>00413 bBoxMin->y = y1;
+<a name="l00414"></a>00414 bBoxMin->z = z1;
+<a name="l00415"></a>00415 bBoxMax->x = x2;
+<a name="l00416"></a>00416 bBoxMax->y = y2;
+<a name="l00417"></a>00417 bBoxMax->z = z2;
+<a name="l00418"></a>00418 }
+<a name="l00419"></a>00419
+<a name="l00420"></a>00420 <span class="preprocessor">#endif</span>
+<a name="l00421"></a>00421 <span class="preprocessor"></span>
</pre></div></div>
</div>
diff --git a/docs/html/reference/renderscript/rs__math_8rsh.html b/docs/html/reference/renderscript/rs__math_8rsh.html
index 9415c3a..96d5e8f 100644
--- a/docs/html/reference/renderscript/rs__math_8rsh.html
+++ b/docs/html/reference/renderscript/rs__math_8rsh.html
@@ -3,7 +3,7 @@
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<title>/src/ics-mr1/frameworks/base/libs/rs/scriptc/rs_math.rsh File Reference</title>
+<title>rs_math.rsh File Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
@@ -27,7 +27,7 @@
<div class="summary">
<a href="#func-members">Functions</a> </div>
<div class="headertitle">
-<div class="title">/src/ics-mr1/frameworks/base/libs/rs/scriptc/rs_math.rsh File Reference</div> </div>
+<div class="title">rs_math.rsh File Reference</div> </div>
</div>
<div class="contents">
<table class="memberdecls">
diff --git a/docs/html/reference/renderscript/rs__math_8rsh_source.html b/docs/html/reference/renderscript/rs__math_8rsh_source.html
index c056994..eb4ddac 100644
--- a/docs/html/reference/renderscript/rs__math_8rsh_source.html
+++ b/docs/html/reference/renderscript/rs__math_8rsh_source.html
@@ -3,7 +3,7 @@
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<title>/src/ics-mr1/frameworks/base/libs/rs/scriptc/rs_math.rsh Source File</title>
+<title>rs_math.rsh Source File</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
@@ -24,7 +24,7 @@
</div>
<div class="header">
<div class="headertitle">
-<div class="title">/src/ics-mr1/frameworks/base/libs/rs/scriptc/rs_math.rsh</div> </div>
+<div class="title">rs_math.rsh</div> </div>
</div>
<div class="contents">
<a href="rs__math_8rsh.html">Go to the documentation of this file.</a><div class="fragment"><pre class="fragment"><a name="l00001"></a>00001 <span class="comment">/*</span>
diff --git a/docs/html/reference/renderscript/rs__matrix_8rsh.html b/docs/html/reference/renderscript/rs__matrix_8rsh.html
index b956301..583a92a 100644
--- a/docs/html/reference/renderscript/rs__matrix_8rsh.html
+++ b/docs/html/reference/renderscript/rs__matrix_8rsh.html
@@ -3,7 +3,7 @@
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<title>/src/ics-mr1/frameworks/base/libs/rs/scriptc/rs_matrix.rsh File Reference</title>
+<title>rs_matrix.rsh File Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
@@ -27,7 +27,7 @@
<div class="summary">
<a href="#func-members">Functions</a> </div>
<div class="headertitle">
-<div class="title">/src/ics-mr1/frameworks/base/libs/rs/scriptc/rs_matrix.rsh File Reference</div> </div>
+<div class="title">rs_matrix.rsh File Reference</div> </div>
</div>
<div class="contents">
<table class="memberdecls">
diff --git a/docs/html/reference/renderscript/rs__matrix_8rsh_source.html b/docs/html/reference/renderscript/rs__matrix_8rsh_source.html
index 531a3e3..be83c9b 100644
--- a/docs/html/reference/renderscript/rs__matrix_8rsh_source.html
+++ b/docs/html/reference/renderscript/rs__matrix_8rsh_source.html
@@ -3,7 +3,7 @@
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<title>/src/ics-mr1/frameworks/base/libs/rs/scriptc/rs_matrix.rsh Source File</title>
+<title>rs_matrix.rsh Source File</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
@@ -24,7 +24,7 @@
</div>
<div class="header">
<div class="headertitle">
-<div class="title">/src/ics-mr1/frameworks/base/libs/rs/scriptc/rs_matrix.rsh</div> </div>
+<div class="title">rs_matrix.rsh</div> </div>
</div>
<div class="contents">
<a href="rs__matrix_8rsh.html">Go to the documentation of this file.</a><div class="fragment"><pre class="fragment"><a name="l00001"></a>00001 <span class="comment">/*</span>
diff --git a/docs/html/reference/renderscript/rs__mesh_8rsh.html b/docs/html/reference/renderscript/rs__mesh_8rsh.html
new file mode 100644
index 0000000..81ac93e
--- /dev/null
+++ b/docs/html/reference/renderscript/rs__mesh_8rsh.html
@@ -0,0 +1,38 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+
+<title>rs_mesh.rsh File Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+
+
+
+</head>
+<body>
+<div id="top"><!-- do not remove this div! -->
+
+
+<!-- Generated by Doxygen 1.7.5.1 -->
+ <div id="navrow1" class="tabs">
+ <ul class="tablist">
+ <li><a href="index.html"><span>Overview</span></a></li>
+ <li class="current"><a href="globals.html"><span>Globals</span></a></li>
+ <li><a href="annotated.html"><span>Structs</span></a></li>
+ </ul>
+ </div>
+</div>
+<div class="header">
+ <div class="headertitle">
+<div class="title">rs_mesh.rsh File Reference</div> </div>
+</div>
+<div class="contents">
+<hr/><a name="details" id="details"></a><h2>Detailed Description</h2>
+<div class="textblock"><p>Mesh routines. </p>
+
+<p>Definition in file <a class="el" href="rs__mesh_8rsh_source.html">rs_mesh.rsh</a>.</p>
+</div></div>
+
+</body>
+</html>
diff --git a/docs/html/reference/renderscript/rs__mesh_8rsh_source.html b/docs/html/reference/renderscript/rs__mesh_8rsh_source.html
new file mode 100644
index 0000000..e344b47
--- /dev/null
+++ b/docs/html/reference/renderscript/rs__mesh_8rsh_source.html
@@ -0,0 +1,75 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+
+<title>rs_mesh.rsh Source File</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+
+
+
+</head>
+<body>
+<div id="top"><!-- do not remove this div! -->
+
+
+<!-- Generated by Doxygen 1.7.5.1 -->
+ <div id="navrow1" class="tabs">
+ <ul class="tablist">
+ <li><a href="index.html"><span>Overview</span></a></li>
+ <li class="current"><a href="globals.html"><span>Globals</span></a></li>
+ <li><a href="annotated.html"><span>Structs</span></a></li>
+ </ul>
+ </div>
+<div class="header">
+ <div class="headertitle">
+<div class="title">rs_mesh.rsh</div> </div>
+</div>
+<div class="contents">
+<a href="rs__mesh_8rsh.html">Go to the documentation of this file.</a><div class="fragment"><pre class="fragment"><a name="l00001"></a>00001 <span class="comment">/*</span>
+<a name="l00002"></a>00002 <span class="comment"> * Copyright (C) 2012 The Android Open Source Project</span>
+<a name="l00003"></a>00003 <span class="comment"> *</span>
+<a name="l00004"></a>00004 <span class="comment"> * Licensed under the Apache License, Version 2.0 (the "License");</span>
+<a name="l00005"></a>00005 <span class="comment"> * you may not use this file except in compliance with the License.</span>
+<a name="l00006"></a>00006 <span class="comment"> * You may obtain a copy of the License at</span>
+<a name="l00007"></a>00007 <span class="comment"> *</span>
+<a name="l00008"></a>00008 <span class="comment"> * http://www.apache.org/licenses/LICENSE-2.0</span>
+<a name="l00009"></a>00009 <span class="comment"> *</span>
+<a name="l00010"></a>00010 <span class="comment"> * Unless required by applicable law or agreed to in writing, software</span>
+<a name="l00011"></a>00011 <span class="comment"> * distributed under the License is distributed on an "AS IS" BASIS,</span>
+<a name="l00012"></a>00012 <span class="comment"> * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.</span>
+<a name="l00013"></a>00013 <span class="comment"> * See the License for the specific language governing permissions and</span>
+<a name="l00014"></a>00014 <span class="comment"> * limitations under the License.</span>
+<a name="l00015"></a>00015 <span class="comment"> */</span>
+<a name="l00016"></a>00016
+<a name="l00023"></a>00023 <span class="preprocessor">#ifndef __RS_MESH_RSH__</span>
+<a name="l00024"></a>00024 <span class="preprocessor"></span><span class="preprocessor">#define __RS_MESH_RSH__</span>
+<a name="l00025"></a>00025 <span class="preprocessor"></span>
+<a name="l00026"></a>00026 <span class="comment">// New API's</span>
+<a name="l00027"></a>00027 <span class="preprocessor">#if (defined(RS_VERSION) && (RS_VERSION >= 16))</span>
+<a name="l00028"></a>00028 <span class="preprocessor"></span>
+<a name="l00037"></a>00037 <span class="keyword">extern</span> <a class="code" href="rs__types_8rsh.html#a435d1572bf3f880d55459d9805097f62">uint32_t</a> __attribute__((overloadable))
+<a name="l00038"></a>00038 rsgMeshGetVertexAllocationCount(<a class="code" href="structrs__mesh.html" title="Opaque handle to a Renderscript mesh object.">rs_mesh</a> m);
+<a name="l00039"></a>00039
+<a name="l00049"></a>00049 extern <a class="code" href="rs__types_8rsh.html#a435d1572bf3f880d55459d9805097f62">uint32_t</a> __attribute__((overloadable))
+<a name="l00050"></a>00050 rsgMeshGetPrimitiveCount(<a class="code" href="structrs__mesh.html" title="Opaque handle to a Renderscript mesh object.">rs_mesh</a> m);
+<a name="l00051"></a>00051
+<a name="l00060"></a>00060 extern <a class="code" href="structrs__allocation.html" title="Opaque handle to a Renderscript allocation.">rs_allocation</a> __attribute__((overloadable))
+<a name="l00061"></a>00061 rsgMeshGetVertexAllocation(<a class="code" href="structrs__mesh.html" title="Opaque handle to a Renderscript mesh object.">rs_mesh</a> m, <a class="code" href="rs__types_8rsh.html#a435d1572bf3f880d55459d9805097f62">uint32_t</a> index);
+<a name="l00062"></a>00062
+<a name="l00071"></a>00071 extern <a class="code" href="structrs__allocation.html" title="Opaque handle to a Renderscript allocation.">rs_allocation</a> __attribute__((overloadable))
+<a name="l00072"></a>00072 rsgMeshGetIndexAllocation(<a class="code" href="structrs__mesh.html" title="Opaque handle to a Renderscript mesh object.">rs_mesh</a> m, <a class="code" href="rs__types_8rsh.html#a435d1572bf3f880d55459d9805097f62">uint32_t</a> index);
+<a name="l00073"></a>00073
+<a name="l00082"></a>00082 extern rs_primitive __attribute__((overloadable))
+<a name="l00083"></a>00083 rsgMeshGetPrimitive(<a class="code" href="structrs__mesh.html" title="Opaque handle to a Renderscript mesh object.">rs_mesh</a> m, <a class="code" href="rs__types_8rsh.html#a435d1572bf3f880d55459d9805097f62">uint32_t</a> index);
+<a name="l00084"></a>00084
+<a name="l00085"></a>00085 <span class="preprocessor">#endif // (defined(RS_VERSION) && (RS_VERSION >= 16))</span>
+<a name="l00086"></a>00086 <span class="preprocessor"></span>
+<a name="l00087"></a>00087 <span class="preprocessor">#endif // __RS_MESH_RSH__</span>
+<a name="l00088"></a>00088 <span class="preprocessor"></span>
+</pre></div></div>
+</div>
+
+</body>
+</html>
diff --git a/docs/html/reference/renderscript/rs__object_8rsh.html b/docs/html/reference/renderscript/rs__object_8rsh.html
index 464e7e5..9ac7bb8 100644
--- a/docs/html/reference/renderscript/rs__object_8rsh.html
+++ b/docs/html/reference/renderscript/rs__object_8rsh.html
@@ -3,7 +3,7 @@
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<title>/src/ics-mr1/frameworks/base/libs/rs/scriptc/rs_object.rsh File Reference</title>
+<title>rs_object.rsh File Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
@@ -27,7 +27,7 @@
<div class="summary">
<a href="#func-members">Functions</a> </div>
<div class="headertitle">
-<div class="title">/src/ics-mr1/frameworks/base/libs/rs/scriptc/rs_object.rsh File Reference</div> </div>
+<div class="title">rs_object.rsh File Reference</div> </div>
</div>
<div class="contents">
<table class="memberdecls">
@@ -38,6 +38,7 @@
<tr><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="rs__object_8rsh.html#af3446b1b9c2e4b600cdc8d828f3dbb59">rsSetObject</a> (<a class="el" href="structrs__allocation.html">rs_allocation</a> *dst, <a class="el" href="structrs__allocation.html">rs_allocation</a> src)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="rs__object_8rsh.html#a5132f90b4aaf8d2e35e6ad021fb08175">rsSetObject</a> (<a class="el" href="structrs__sampler.html">rs_sampler</a> *dst, <a class="el" href="structrs__sampler.html">rs_sampler</a> src)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="rs__object_8rsh.html#a9dfc520ed267ac9733760bc628a93cae">rsSetObject</a> (<a class="el" href="structrs__script.html">rs_script</a> *dst, <a class="el" href="structrs__script.html">rs_script</a> src)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="rs__object_8rsh.html#a9c2f648c1e68018621a3123545a21d83">rsSetObject</a> (<a class="el" href="structrs__path.html">rs_path</a> *dst, <a class="el" href="structrs__path.html">rs_path</a> src)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="rs__object_8rsh.html#a4d6368cf71d6fd2e55efbe23af6cfd7c">rsSetObject</a> (<a class="el" href="structrs__mesh.html">rs_mesh</a> *dst, <a class="el" href="structrs__mesh.html">rs_mesh</a> src)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="rs__object_8rsh.html#a8135bceeb7b3ec8bf9a49d04e39bd565">rsSetObject</a> (<a class="el" href="structrs__program__fragment.html">rs_program_fragment</a> *dst, <a class="el" href="structrs__program__fragment.html">rs_program_fragment</a> src)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="rs__object_8rsh.html#a5512c023d40e416bea709f8d8caf9674">rsSetObject</a> (<a class="el" href="structrs__program__vertex.html">rs_program_vertex</a> *dst, <a class="el" href="structrs__program__vertex.html">rs_program_vertex</a> src)</td></tr>
@@ -49,6 +50,7 @@
<tr><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="rs__object_8rsh.html#a5b944e2762ce1a44f7e63abd41851bcd">rsClearObject</a> (<a class="el" href="structrs__allocation.html">rs_allocation</a> *dst)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="rs__object_8rsh.html#a51fe2098cc5c2ff73ceff8cc46b6dd89">rsClearObject</a> (<a class="el" href="structrs__sampler.html">rs_sampler</a> *dst)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="rs__object_8rsh.html#a0034d7e67f80a9ce2e1139f1cb54b9a4">rsClearObject</a> (<a class="el" href="structrs__script.html">rs_script</a> *dst)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="rs__object_8rsh.html#a4cd7e401ffe73eb23dffb01d5faf14cc">rsClearObject</a> (<a class="el" href="structrs__path.html">rs_path</a> *dst)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="rs__object_8rsh.html#a6f26564cf4fa1bcd46db51a478bf91b9">rsClearObject</a> (<a class="el" href="structrs__mesh.html">rs_mesh</a> *dst)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="rs__object_8rsh.html#afc6aca3a903d5e2021d9eeab4836fd26">rsClearObject</a> (<a class="el" href="structrs__program__fragment.html">rs_program_fragment</a> *dst)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="rs__object_8rsh.html#a712fcc988eedf21845495477cec54029">rsClearObject</a> (<a class="el" href="structrs__program__vertex.html">rs_program_vertex</a> *dst)</td></tr>
@@ -60,6 +62,7 @@
<tr><td class="memItemLeft" align="right" valign="top">bool </td><td class="memItemRight" valign="bottom"><a class="el" href="rs__object_8rsh.html#afd33063fc6e45cb23f9a6f68dc2976ba">rsIsObject</a> (<a class="el" href="structrs__allocation.html">rs_allocation</a>)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">bool </td><td class="memItemRight" valign="bottom"><a class="el" href="rs__object_8rsh.html#a509c7f0eacf1f07a3e7afaa029168f11">rsIsObject</a> (<a class="el" href="structrs__sampler.html">rs_sampler</a>)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">bool </td><td class="memItemRight" valign="bottom"><a class="el" href="rs__object_8rsh.html#a6dc9db5fb60856b04c0b495a85affcbc">rsIsObject</a> (<a class="el" href="structrs__script.html">rs_script</a>)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">bool </td><td class="memItemRight" valign="bottom"><a class="el" href="rs__object_8rsh.html#a33f979562536752539f35e6e831dab62">rsIsObject</a> (<a class="el" href="structrs__path.html">rs_path</a>)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">bool </td><td class="memItemRight" valign="bottom"><a class="el" href="rs__object_8rsh.html#aa1860f7322da25f4c4a1727571b01e2b">rsIsObject</a> (<a class="el" href="structrs__mesh.html">rs_mesh</a>)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">bool </td><td class="memItemRight" valign="bottom"><a class="el" href="rs__object_8rsh.html#afa57d9148778b03b270facbdbcb88816">rsIsObject</a> (<a class="el" href="structrs__program__fragment.html">rs_program_fragment</a>)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">bool </td><td class="memItemRight" valign="bottom"><a class="el" href="rs__object_8rsh.html#acaa5da532eab1803a72fc4af2e7c6573">rsIsObject</a> (<a class="el" href="structrs__program__vertex.html">rs_program_vertex</a>)</td></tr>
@@ -163,6 +166,24 @@
</div>
</div>
+<a class="anchor" id="a4cd7e401ffe73eb23dffb01d5faf14cc"></a><!-- doxytag: member="rs_object.rsh::rsClearObject" ref="a4cd7e401ffe73eb23dffb01d5faf14cc" args="(rs_path *dst)" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">void rsClearObject </td>
+ <td>(</td>
+ <td class="paramtype"><a class="el" href="structrs__path.html">rs_path</a> * </td>
+ <td class="paramname"><em>dst</em></td><td>)</td>
+ <td></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+<p>This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts. </p>
+
+</div>
+</div>
<a class="anchor" id="a6f26564cf4fa1bcd46db51a478bf91b9"></a><!-- doxytag: member="rs_object.rsh::rsClearObject" ref="a6f26564cf4fa1bcd46db51a478bf91b9" args="(rs_mesh *dst)" -->
<div class="memitem">
<div class="memproto">
@@ -362,6 +383,24 @@
</div>
</div>
+<a class="anchor" id="a33f979562536752539f35e6e831dab62"></a><!-- doxytag: member="rs_object.rsh::rsIsObject" ref="a33f979562536752539f35e6e831dab62" args="(rs_path)" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">bool rsIsObject </td>
+ <td>(</td>
+ <td class="paramtype"><a class="el" href="structrs__path.html">rs_path</a> </td>
+ <td class="paramname"></td><td>)</td>
+ <td></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+<p>This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts. </p>
+
+</div>
+</div>
<a class="anchor" id="aa1860f7322da25f4c4a1727571b01e2b"></a><!-- doxytag: member="rs_object.rsh::rsIsObject" ref="aa1860f7322da25f4c4a1727571b01e2b" args="(rs_mesh)" -->
<div class="memitem">
<div class="memproto">
@@ -617,6 +656,34 @@
</div>
</div>
+<a class="anchor" id="a9c2f648c1e68018621a3123545a21d83"></a><!-- doxytag: member="rs_object.rsh::rsSetObject" ref="a9c2f648c1e68018621a3123545a21d83" args="(rs_path *dst, rs_path src)" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">void rsSetObject </td>
+ <td>(</td>
+ <td class="paramtype"><a class="el" href="structrs__path.html">rs_path</a> * </td>
+ <td class="paramname"><em>dst</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype"><a class="el" href="structrs__path.html">rs_path</a> </td>
+ <td class="paramname"><em>src</em> </td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+<p>This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts. </p>
+
+</div>
+</div>
<a class="anchor" id="a4d6368cf71d6fd2e55efbe23af6cfd7c"></a><!-- doxytag: member="rs_object.rsh::rsSetObject" ref="a4d6368cf71d6fd2e55efbe23af6cfd7c" args="(rs_mesh *dst, rs_mesh src)" -->
<div class="memitem">
<div class="memproto">
diff --git a/docs/html/reference/renderscript/rs__object_8rsh_source.html b/docs/html/reference/renderscript/rs__object_8rsh_source.html
index 0f9b488..e55769b 100644
--- a/docs/html/reference/renderscript/rs__object_8rsh_source.html
+++ b/docs/html/reference/renderscript/rs__object_8rsh_source.html
@@ -3,7 +3,7 @@
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<title>/src/ics-mr1/frameworks/base/libs/rs/scriptc/rs_object.rsh Source File</title>
+<title>rs_object.rsh Source File</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
@@ -24,7 +24,7 @@
</div>
<div class="header">
<div class="headertitle">
-<div class="title">/src/ics-mr1/frameworks/base/libs/rs/scriptc/rs_object.rsh</div> </div>
+<div class="title">rs_object.rsh</div> </div>
</div>
<div class="contents">
<a href="rs__object_8rsh.html">Go to the documentation of this file.</a><div class="fragment"><pre class="fragment"><a name="l00001"></a>00001 <span class="comment">/*</span>
@@ -58,67 +58,73 @@
<a name="l00053"></a>00053 extern <span class="keywordtype">void</span> __attribute__((overloadable))
<a name="l00054"></a>00054 <a class="code" href="rs__object_8rsh.html#af6983a1578621ce283acc07f876cda62">rsSetObject</a>(<a class="code" href="structrs__script.html" title="Opaque handle to a Renderscript script object.">rs_script</a> *dst, <a class="code" href="structrs__script.html" title="Opaque handle to a Renderscript script object.">rs_script</a> src);
<a name="l00058"></a>00058 extern <span class="keywordtype">void</span> __attribute__((overloadable))
-<a name="l00059"></a>00059 <a class="code" href="rs__object_8rsh.html#af6983a1578621ce283acc07f876cda62">rsSetObject</a>(<a class="code" href="structrs__mesh.html" title="Opaque handle to a Renderscript mesh object.">rs_mesh</a> *dst, <a class="code" href="structrs__mesh.html" title="Opaque handle to a Renderscript mesh object.">rs_mesh</a> src);
+<a name="l00059"></a>00059 <a class="code" href="rs__object_8rsh.html#af6983a1578621ce283acc07f876cda62">rsSetObject</a>(<a class="code" href="structrs__path.html" title="Opaque handle to a Renderscript Path object.">rs_path</a> *dst, <a class="code" href="structrs__path.html" title="Opaque handle to a Renderscript Path object.">rs_path</a> src);
<a name="l00063"></a>00063 extern <span class="keywordtype">void</span> __attribute__((overloadable))
-<a name="l00064"></a>00064 <a class="code" href="rs__object_8rsh.html#af6983a1578621ce283acc07f876cda62">rsSetObject</a>(<a class="code" href="structrs__program__fragment.html" title="Opaque handle to a Renderscript ProgramFragment object.">rs_program_fragment</a> *dst, <a class="code" href="structrs__program__fragment.html" title="Opaque handle to a Renderscript ProgramFragment object.">rs_program_fragment</a> src);
+<a name="l00064"></a>00064 <a class="code" href="rs__object_8rsh.html#af6983a1578621ce283acc07f876cda62">rsSetObject</a>(<a class="code" href="structrs__mesh.html" title="Opaque handle to a Renderscript mesh object.">rs_mesh</a> *dst, <a class="code" href="structrs__mesh.html" title="Opaque handle to a Renderscript mesh object.">rs_mesh</a> src);
<a name="l00068"></a>00068 extern <span class="keywordtype">void</span> __attribute__((overloadable))
-<a name="l00069"></a>00069 <a class="code" href="rs__object_8rsh.html#af6983a1578621ce283acc07f876cda62">rsSetObject</a>(<a class="code" href="structrs__program__vertex.html" title="Opaque handle to a Renderscript ProgramVertex object.">rs_program_vertex</a> *dst, <a class="code" href="structrs__program__vertex.html" title="Opaque handle to a Renderscript ProgramVertex object.">rs_program_vertex</a> src);
+<a name="l00069"></a>00069 <a class="code" href="rs__object_8rsh.html#af6983a1578621ce283acc07f876cda62">rsSetObject</a>(<a class="code" href="structrs__program__fragment.html" title="Opaque handle to a Renderscript ProgramFragment object.">rs_program_fragment</a> *dst, <a class="code" href="structrs__program__fragment.html" title="Opaque handle to a Renderscript ProgramFragment object.">rs_program_fragment</a> src);
<a name="l00073"></a>00073 extern <span class="keywordtype">void</span> __attribute__((overloadable))
-<a name="l00074"></a>00074 <a class="code" href="rs__object_8rsh.html#af6983a1578621ce283acc07f876cda62">rsSetObject</a>(<a class="code" href="structrs__program__raster.html" title="Opaque handle to a Renderscript ProgramRaster object.">rs_program_raster</a> *dst, <a class="code" href="structrs__program__raster.html" title="Opaque handle to a Renderscript ProgramRaster object.">rs_program_raster</a> src);
+<a name="l00074"></a>00074 <a class="code" href="rs__object_8rsh.html#af6983a1578621ce283acc07f876cda62">rsSetObject</a>(<a class="code" href="structrs__program__vertex.html" title="Opaque handle to a Renderscript ProgramVertex object.">rs_program_vertex</a> *dst, <a class="code" href="structrs__program__vertex.html" title="Opaque handle to a Renderscript ProgramVertex object.">rs_program_vertex</a> src);
<a name="l00078"></a>00078 extern <span class="keywordtype">void</span> __attribute__((overloadable))
-<a name="l00079"></a>00079 <a class="code" href="rs__object_8rsh.html#af6983a1578621ce283acc07f876cda62">rsSetObject</a>(<a class="code" href="structrs__program__store.html" title="Opaque handle to a Renderscript ProgramStore object.">rs_program_store</a> *dst, <a class="code" href="structrs__program__store.html" title="Opaque handle to a Renderscript ProgramStore object.">rs_program_store</a> src);
+<a name="l00079"></a>00079 <a class="code" href="rs__object_8rsh.html#af6983a1578621ce283acc07f876cda62">rsSetObject</a>(<a class="code" href="structrs__program__raster.html" title="Opaque handle to a Renderscript ProgramRaster object.">rs_program_raster</a> *dst, <a class="code" href="structrs__program__raster.html" title="Opaque handle to a Renderscript ProgramRaster object.">rs_program_raster</a> src);
<a name="l00083"></a>00083 extern <span class="keywordtype">void</span> __attribute__((overloadable))
-<a name="l00084"></a>00084 <a class="code" href="rs__object_8rsh.html#af6983a1578621ce283acc07f876cda62">rsSetObject</a>(<a class="code" href="structrs__font.html" title="Opaque handle to a Renderscript font object.">rs_font</a> *dst, <a class="code" href="structrs__font.html" title="Opaque handle to a Renderscript font object.">rs_font</a> src);
-<a name="l00085"></a>00085
-<a name="l00091"></a>00091 extern <span class="keywordtype">void</span> __attribute__((overloadable))
-<a name="l00092"></a>00092 <a class="code" href="rs__object_8rsh.html#aab5f47dc11b9044b3d02c4ed818fe6e7">rsClearObject</a>(<a class="code" href="structrs__element.html" title="Opaque handle to a Renderscript element.">rs_element</a> *dst);
+<a name="l00084"></a>00084 <a class="code" href="rs__object_8rsh.html#af6983a1578621ce283acc07f876cda62">rsSetObject</a>(<a class="code" href="structrs__program__store.html" title="Opaque handle to a Renderscript ProgramStore object.">rs_program_store</a> *dst, <a class="code" href="structrs__program__store.html" title="Opaque handle to a Renderscript ProgramStore object.">rs_program_store</a> src);
+<a name="l00088"></a>00088 extern <span class="keywordtype">void</span> __attribute__((overloadable))
+<a name="l00089"></a>00089 <a class="code" href="rs__object_8rsh.html#af6983a1578621ce283acc07f876cda62">rsSetObject</a>(<a class="code" href="structrs__font.html" title="Opaque handle to a Renderscript font object.">rs_font</a> *dst, <a class="code" href="structrs__font.html" title="Opaque handle to a Renderscript font object.">rs_font</a> src);
+<a name="l00090"></a>00090
<a name="l00096"></a>00096 extern <span class="keywordtype">void</span> __attribute__((overloadable))
-<a name="l00097"></a>00097 <a class="code" href="rs__object_8rsh.html#aab5f47dc11b9044b3d02c4ed818fe6e7">rsClearObject</a>(<a class="code" href="structrs__type.html" title="Opaque handle to a Renderscript type.">rs_type</a> *dst);
+<a name="l00097"></a>00097 <a class="code" href="rs__object_8rsh.html#aab5f47dc11b9044b3d02c4ed818fe6e7">rsClearObject</a>(<a class="code" href="structrs__element.html" title="Opaque handle to a Renderscript element.">rs_element</a> *dst);
<a name="l00101"></a>00101 extern <span class="keywordtype">void</span> __attribute__((overloadable))
-<a name="l00102"></a>00102 <a class="code" href="rs__object_8rsh.html#aab5f47dc11b9044b3d02c4ed818fe6e7">rsClearObject</a>(<a class="code" href="structrs__allocation.html" title="Opaque handle to a Renderscript allocation.">rs_allocation</a> *dst);
+<a name="l00102"></a>00102 <a class="code" href="rs__object_8rsh.html#aab5f47dc11b9044b3d02c4ed818fe6e7">rsClearObject</a>(<a class="code" href="structrs__type.html" title="Opaque handle to a Renderscript type.">rs_type</a> *dst);
<a name="l00106"></a>00106 extern <span class="keywordtype">void</span> __attribute__((overloadable))
-<a name="l00107"></a>00107 <a class="code" href="rs__object_8rsh.html#aab5f47dc11b9044b3d02c4ed818fe6e7">rsClearObject</a>(<a class="code" href="structrs__sampler.html" title="Opaque handle to a Renderscript sampler object.">rs_sampler</a> *dst);
+<a name="l00107"></a>00107 <a class="code" href="rs__object_8rsh.html#aab5f47dc11b9044b3d02c4ed818fe6e7">rsClearObject</a>(<a class="code" href="structrs__allocation.html" title="Opaque handle to a Renderscript allocation.">rs_allocation</a> *dst);
<a name="l00111"></a>00111 extern <span class="keywordtype">void</span> __attribute__((overloadable))
-<a name="l00112"></a>00112 <a class="code" href="rs__object_8rsh.html#aab5f47dc11b9044b3d02c4ed818fe6e7">rsClearObject</a>(<a class="code" href="structrs__script.html" title="Opaque handle to a Renderscript script object.">rs_script</a> *dst);
+<a name="l00112"></a>00112 <a class="code" href="rs__object_8rsh.html#aab5f47dc11b9044b3d02c4ed818fe6e7">rsClearObject</a>(<a class="code" href="structrs__sampler.html" title="Opaque handle to a Renderscript sampler object.">rs_sampler</a> *dst);
<a name="l00116"></a>00116 extern <span class="keywordtype">void</span> __attribute__((overloadable))
-<a name="l00117"></a>00117 <a class="code" href="rs__object_8rsh.html#aab5f47dc11b9044b3d02c4ed818fe6e7">rsClearObject</a>(<a class="code" href="structrs__mesh.html" title="Opaque handle to a Renderscript mesh object.">rs_mesh</a> *dst);
+<a name="l00117"></a>00117 <a class="code" href="rs__object_8rsh.html#aab5f47dc11b9044b3d02c4ed818fe6e7">rsClearObject</a>(<a class="code" href="structrs__script.html" title="Opaque handle to a Renderscript script object.">rs_script</a> *dst);
<a name="l00121"></a>00121 extern <span class="keywordtype">void</span> __attribute__((overloadable))
-<a name="l00122"></a>00122 <a class="code" href="rs__object_8rsh.html#aab5f47dc11b9044b3d02c4ed818fe6e7">rsClearObject</a>(<a class="code" href="structrs__program__fragment.html" title="Opaque handle to a Renderscript ProgramFragment object.">rs_program_fragment</a> *dst);
+<a name="l00122"></a>00122 <a class="code" href="rs__object_8rsh.html#aab5f47dc11b9044b3d02c4ed818fe6e7">rsClearObject</a>(<a class="code" href="structrs__path.html" title="Opaque handle to a Renderscript Path object.">rs_path</a> *dst);
<a name="l00126"></a>00126 extern <span class="keywordtype">void</span> __attribute__((overloadable))
-<a name="l00127"></a>00127 <a class="code" href="rs__object_8rsh.html#aab5f47dc11b9044b3d02c4ed818fe6e7">rsClearObject</a>(<a class="code" href="structrs__program__vertex.html" title="Opaque handle to a Renderscript ProgramVertex object.">rs_program_vertex</a> *dst);
+<a name="l00127"></a>00127 <a class="code" href="rs__object_8rsh.html#aab5f47dc11b9044b3d02c4ed818fe6e7">rsClearObject</a>(<a class="code" href="structrs__mesh.html" title="Opaque handle to a Renderscript mesh object.">rs_mesh</a> *dst);
<a name="l00131"></a>00131 extern <span class="keywordtype">void</span> __attribute__((overloadable))
-<a name="l00132"></a>00132 <a class="code" href="rs__object_8rsh.html#aab5f47dc11b9044b3d02c4ed818fe6e7">rsClearObject</a>(<a class="code" href="structrs__program__raster.html" title="Opaque handle to a Renderscript ProgramRaster object.">rs_program_raster</a> *dst);
+<a name="l00132"></a>00132 <a class="code" href="rs__object_8rsh.html#aab5f47dc11b9044b3d02c4ed818fe6e7">rsClearObject</a>(<a class="code" href="structrs__program__fragment.html" title="Opaque handle to a Renderscript ProgramFragment object.">rs_program_fragment</a> *dst);
<a name="l00136"></a>00136 extern <span class="keywordtype">void</span> __attribute__((overloadable))
-<a name="l00137"></a>00137 <a class="code" href="rs__object_8rsh.html#aab5f47dc11b9044b3d02c4ed818fe6e7">rsClearObject</a>(<a class="code" href="structrs__program__store.html" title="Opaque handle to a Renderscript ProgramStore object.">rs_program_store</a> *dst);
+<a name="l00137"></a>00137 <a class="code" href="rs__object_8rsh.html#aab5f47dc11b9044b3d02c4ed818fe6e7">rsClearObject</a>(<a class="code" href="structrs__program__vertex.html" title="Opaque handle to a Renderscript ProgramVertex object.">rs_program_vertex</a> *dst);
<a name="l00141"></a>00141 extern <span class="keywordtype">void</span> __attribute__((overloadable))
-<a name="l00142"></a>00142 <a class="code" href="rs__object_8rsh.html#aab5f47dc11b9044b3d02c4ed818fe6e7">rsClearObject</a>(<a class="code" href="structrs__font.html" title="Opaque handle to a Renderscript font object.">rs_font</a> *dst);
-<a name="l00143"></a>00143
-<a name="l00144"></a>00144
-<a name="l00145"></a>00145
-<a name="l00152"></a>00152 extern <span class="keywordtype">bool</span> __attribute__((overloadable))
-<a name="l00153"></a>00153 <a class="code" href="rs__object_8rsh.html#a81f862730b961bd93ac132c24cbc0f82">rsIsObject</a>(<a class="code" href="structrs__element.html" title="Opaque handle to a Renderscript element.">rs_element</a>);
-<a name="l00157"></a>00157 extern <span class="keywordtype">bool</span> __attribute__((overloadable))
-<a name="l00158"></a>00158 <a class="code" href="rs__object_8rsh.html#a81f862730b961bd93ac132c24cbc0f82">rsIsObject</a>(<a class="code" href="structrs__type.html" title="Opaque handle to a Renderscript type.">rs_type</a>);
+<a name="l00142"></a>00142 <a class="code" href="rs__object_8rsh.html#aab5f47dc11b9044b3d02c4ed818fe6e7">rsClearObject</a>(<a class="code" href="structrs__program__raster.html" title="Opaque handle to a Renderscript ProgramRaster object.">rs_program_raster</a> *dst);
+<a name="l00146"></a>00146 extern <span class="keywordtype">void</span> __attribute__((overloadable))
+<a name="l00147"></a>00147 <a class="code" href="rs__object_8rsh.html#aab5f47dc11b9044b3d02c4ed818fe6e7">rsClearObject</a>(<a class="code" href="structrs__program__store.html" title="Opaque handle to a Renderscript ProgramStore object.">rs_program_store</a> *dst);
+<a name="l00151"></a>00151 extern <span class="keywordtype">void</span> __attribute__((overloadable))
+<a name="l00152"></a>00152 <a class="code" href="rs__object_8rsh.html#aab5f47dc11b9044b3d02c4ed818fe6e7">rsClearObject</a>(<a class="code" href="structrs__font.html" title="Opaque handle to a Renderscript font object.">rs_font</a> *dst);
+<a name="l00153"></a>00153
+<a name="l00154"></a>00154
+<a name="l00155"></a>00155
<a name="l00162"></a>00162 extern <span class="keywordtype">bool</span> __attribute__((overloadable))
-<a name="l00163"></a>00163 <a class="code" href="rs__object_8rsh.html#a81f862730b961bd93ac132c24cbc0f82">rsIsObject</a>(<a class="code" href="structrs__allocation.html" title="Opaque handle to a Renderscript allocation.">rs_allocation</a>);
+<a name="l00163"></a>00163 <a class="code" href="rs__object_8rsh.html#a81f862730b961bd93ac132c24cbc0f82">rsIsObject</a>(<a class="code" href="structrs__element.html" title="Opaque handle to a Renderscript element.">rs_element</a>);
<a name="l00167"></a>00167 extern <span class="keywordtype">bool</span> __attribute__((overloadable))
-<a name="l00168"></a>00168 <a class="code" href="rs__object_8rsh.html#a81f862730b961bd93ac132c24cbc0f82">rsIsObject</a>(<a class="code" href="structrs__sampler.html" title="Opaque handle to a Renderscript sampler object.">rs_sampler</a>);
+<a name="l00168"></a>00168 <a class="code" href="rs__object_8rsh.html#a81f862730b961bd93ac132c24cbc0f82">rsIsObject</a>(<a class="code" href="structrs__type.html" title="Opaque handle to a Renderscript type.">rs_type</a>);
<a name="l00172"></a>00172 extern <span class="keywordtype">bool</span> __attribute__((overloadable))
-<a name="l00173"></a>00173 <a class="code" href="rs__object_8rsh.html#a81f862730b961bd93ac132c24cbc0f82">rsIsObject</a>(<a class="code" href="structrs__script.html" title="Opaque handle to a Renderscript script object.">rs_script</a>);
+<a name="l00173"></a>00173 <a class="code" href="rs__object_8rsh.html#a81f862730b961bd93ac132c24cbc0f82">rsIsObject</a>(<a class="code" href="structrs__allocation.html" title="Opaque handle to a Renderscript allocation.">rs_allocation</a>);
<a name="l00177"></a>00177 extern <span class="keywordtype">bool</span> __attribute__((overloadable))
-<a name="l00178"></a>00178 <a class="code" href="rs__object_8rsh.html#a81f862730b961bd93ac132c24cbc0f82">rsIsObject</a>(<a class="code" href="structrs__mesh.html" title="Opaque handle to a Renderscript mesh object.">rs_mesh</a>);
+<a name="l00178"></a>00178 <a class="code" href="rs__object_8rsh.html#a81f862730b961bd93ac132c24cbc0f82">rsIsObject</a>(<a class="code" href="structrs__sampler.html" title="Opaque handle to a Renderscript sampler object.">rs_sampler</a>);
<a name="l00182"></a>00182 extern <span class="keywordtype">bool</span> __attribute__((overloadable))
-<a name="l00183"></a>00183 <a class="code" href="rs__object_8rsh.html#a81f862730b961bd93ac132c24cbc0f82">rsIsObject</a>(<a class="code" href="structrs__program__fragment.html" title="Opaque handle to a Renderscript ProgramFragment object.">rs_program_fragment</a>);
+<a name="l00183"></a>00183 <a class="code" href="rs__object_8rsh.html#a81f862730b961bd93ac132c24cbc0f82">rsIsObject</a>(<a class="code" href="structrs__script.html" title="Opaque handle to a Renderscript script object.">rs_script</a>);
<a name="l00187"></a>00187 extern <span class="keywordtype">bool</span> __attribute__((overloadable))
-<a name="l00188"></a>00188 <a class="code" href="rs__object_8rsh.html#a81f862730b961bd93ac132c24cbc0f82">rsIsObject</a>(<a class="code" href="structrs__program__vertex.html" title="Opaque handle to a Renderscript ProgramVertex object.">rs_program_vertex</a>);
+<a name="l00188"></a>00188 <a class="code" href="rs__object_8rsh.html#a81f862730b961bd93ac132c24cbc0f82">rsIsObject</a>(<a class="code" href="structrs__path.html" title="Opaque handle to a Renderscript Path object.">rs_path</a>);
<a name="l00192"></a>00192 extern <span class="keywordtype">bool</span> __attribute__((overloadable))
-<a name="l00193"></a>00193 <a class="code" href="rs__object_8rsh.html#a81f862730b961bd93ac132c24cbc0f82">rsIsObject</a>(<a class="code" href="structrs__program__raster.html" title="Opaque handle to a Renderscript ProgramRaster object.">rs_program_raster</a>);
+<a name="l00193"></a>00193 <a class="code" href="rs__object_8rsh.html#a81f862730b961bd93ac132c24cbc0f82">rsIsObject</a>(<a class="code" href="structrs__mesh.html" title="Opaque handle to a Renderscript mesh object.">rs_mesh</a>);
<a name="l00197"></a>00197 extern <span class="keywordtype">bool</span> __attribute__((overloadable))
-<a name="l00198"></a>00198 <a class="code" href="rs__object_8rsh.html#a81f862730b961bd93ac132c24cbc0f82">rsIsObject</a>(<a class="code" href="structrs__program__store.html" title="Opaque handle to a Renderscript ProgramStore object.">rs_program_store</a>);
+<a name="l00198"></a>00198 <a class="code" href="rs__object_8rsh.html#a81f862730b961bd93ac132c24cbc0f82">rsIsObject</a>(<a class="code" href="structrs__program__fragment.html" title="Opaque handle to a Renderscript ProgramFragment object.">rs_program_fragment</a>);
<a name="l00202"></a>00202 extern <span class="keywordtype">bool</span> __attribute__((overloadable))
-<a name="l00203"></a>00203 <a class="code" href="rs__object_8rsh.html#a81f862730b961bd93ac132c24cbc0f82">rsIsObject</a>(<a class="code" href="structrs__font.html" title="Opaque handle to a Renderscript font object.">rs_font</a>);
-<a name="l00204"></a>00204
-<a name="l00205"></a>00205 <span class="preprocessor">#endif</span>
+<a name="l00203"></a>00203 <a class="code" href="rs__object_8rsh.html#a81f862730b961bd93ac132c24cbc0f82">rsIsObject</a>(<a class="code" href="structrs__program__vertex.html" title="Opaque handle to a Renderscript ProgramVertex object.">rs_program_vertex</a>);
+<a name="l00207"></a>00207 extern <span class="keywordtype">bool</span> __attribute__((overloadable))
+<a name="l00208"></a>00208 <a class="code" href="rs__object_8rsh.html#a81f862730b961bd93ac132c24cbc0f82">rsIsObject</a>(<a class="code" href="structrs__program__raster.html" title="Opaque handle to a Renderscript ProgramRaster object.">rs_program_raster</a>);
+<a name="l00212"></a>00212 extern <span class="keywordtype">bool</span> __attribute__((overloadable))
+<a name="l00213"></a>00213 <a class="code" href="rs__object_8rsh.html#a81f862730b961bd93ac132c24cbc0f82">rsIsObject</a>(<a class="code" href="structrs__program__store.html" title="Opaque handle to a Renderscript ProgramStore object.">rs_program_store</a>);
+<a name="l00217"></a>00217 extern <span class="keywordtype">bool</span> __attribute__((overloadable))
+<a name="l00218"></a>00218 <a class="code" href="rs__object_8rsh.html#a81f862730b961bd93ac132c24cbc0f82">rsIsObject</a>(<a class="code" href="structrs__font.html" title="Opaque handle to a Renderscript font object.">rs_font</a>);
+<a name="l00219"></a>00219
+<a name="l00220"></a>00220 <span class="preprocessor">#endif</span>
</pre></div></div>
</div>
diff --git a/docs/html/reference/renderscript/rs__program_8rsh.html b/docs/html/reference/renderscript/rs__program_8rsh.html
new file mode 100644
index 0000000..f64cc7b
--- /dev/null
+++ b/docs/html/reference/renderscript/rs__program_8rsh.html
@@ -0,0 +1,38 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+
+<title>rs_program.rsh File Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+
+
+
+</head>
+<body>
+<div id="top"><!-- do not remove this div! -->
+
+
+<!-- Generated by Doxygen 1.7.5.1 -->
+ <div id="navrow1" class="tabs">
+ <ul class="tablist">
+ <li><a href="index.html"><span>Overview</span></a></li>
+ <li class="current"><a href="globals.html"><span>Globals</span></a></li>
+ <li><a href="annotated.html"><span>Structs</span></a></li>
+ </ul>
+ </div>
+</div>
+<div class="header">
+ <div class="headertitle">
+<div class="title">rs_program.rsh File Reference</div> </div>
+</div>
+<div class="contents">
+<hr/><a name="details" id="details"></a><h2>Detailed Description</h2>
+<div class="textblock"><p>Program object routines. </p>
+
+<p>Definition in file <a class="el" href="rs__program_8rsh_source.html">rs_program.rsh</a>.</p>
+</div></div>
+
+</body>
+</html>
diff --git a/docs/html/reference/renderscript/rs__program_8rsh_source.html b/docs/html/reference/renderscript/rs__program_8rsh_source.html
new file mode 100644
index 0000000..dc901b3
--- /dev/null
+++ b/docs/html/reference/renderscript/rs__program_8rsh_source.html
@@ -0,0 +1,91 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+
+<title>rs_program.rsh Source File</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+
+
+
+</head>
+<body>
+<div id="top"><!-- do not remove this div! -->
+
+
+<!-- Generated by Doxygen 1.7.5.1 -->
+ <div id="navrow1" class="tabs">
+ <ul class="tablist">
+ <li><a href="index.html"><span>Overview</span></a></li>
+ <li class="current"><a href="globals.html"><span>Globals</span></a></li>
+ <li><a href="annotated.html"><span>Structs</span></a></li>
+ </ul>
+ </div>
+<div class="header">
+ <div class="headertitle">
+<div class="title">rs_program.rsh</div> </div>
+</div>
+<div class="contents">
+<a href="rs__program_8rsh.html">Go to the documentation of this file.</a><div class="fragment"><pre class="fragment"><a name="l00001"></a>00001 <span class="comment">/*</span>
+<a name="l00002"></a>00002 <span class="comment"> * Copyright (C) 2012 The Android Open Source Project</span>
+<a name="l00003"></a>00003 <span class="comment"> *</span>
+<a name="l00004"></a>00004 <span class="comment"> * Licensed under the Apache License, Version 2.0 (the "License");</span>
+<a name="l00005"></a>00005 <span class="comment"> * you may not use this file except in compliance with the License.</span>
+<a name="l00006"></a>00006 <span class="comment"> * You may obtain a copy of the License at</span>
+<a name="l00007"></a>00007 <span class="comment"> *</span>
+<a name="l00008"></a>00008 <span class="comment"> * http://www.apache.org/licenses/LICENSE-2.0</span>
+<a name="l00009"></a>00009 <span class="comment"> *</span>
+<a name="l00010"></a>00010 <span class="comment"> * Unless required by applicable law or agreed to in writing, software</span>
+<a name="l00011"></a>00011 <span class="comment"> * distributed under the License is distributed on an "AS IS" BASIS,</span>
+<a name="l00012"></a>00012 <span class="comment"> * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.</span>
+<a name="l00013"></a>00013 <span class="comment"> * See the License for the specific language governing permissions and</span>
+<a name="l00014"></a>00014 <span class="comment"> * limitations under the License.</span>
+<a name="l00015"></a>00015 <span class="comment"> */</span>
+<a name="l00016"></a>00016
+<a name="l00023"></a>00023 <span class="preprocessor">#ifndef __RS_PROGRAM_RSH__</span>
+<a name="l00024"></a>00024 <span class="preprocessor"></span><span class="preprocessor">#define __RS_PROGRAM_RSH__</span>
+<a name="l00025"></a>00025 <span class="preprocessor"></span>
+<a name="l00026"></a>00026 <span class="preprocessor">#if (defined(RS_VERSION) && (RS_VERSION >= 16))</span>
+<a name="l00027"></a>00027 <span class="preprocessor"></span>
+<a name="l00033"></a>00033 <span class="keyword">extern</span> rs_depth_func __attribute__((overloadable))
+<a name="l00034"></a>00034 rsgProgramStoreGetDepthFunc(<a class="code" href="structrs__program__store.html" title="Opaque handle to a Renderscript ProgramStore object.">rs_program_store</a> ps);
+<a name="l00035"></a>00035
+<a name="l00041"></a>00041 extern <span class="keywordtype">bool</span> __attribute__((overloadable))
+<a name="l00042"></a>00042 rsgProgramStoreIsDepthMaskEnabled(<a class="code" href="structrs__program__store.html" title="Opaque handle to a Renderscript ProgramStore object.">rs_program_store</a> ps);
+<a name="l00048"></a>00048 extern <span class="keywordtype">bool</span> __attribute__((overloadable))
+<a name="l00049"></a>00049 rsgProgramStoreIsColorMaskRedEnabled(<a class="code" href="structrs__program__store.html" title="Opaque handle to a Renderscript ProgramStore object.">rs_program_store</a> ps);
+<a name="l00050"></a>00050
+<a name="l00056"></a>00056 extern <span class="keywordtype">bool</span> __attribute__((overloadable))
+<a name="l00057"></a>00057 rsgProgramStoreIsColorMaskGreenEnabled(<a class="code" href="structrs__program__store.html" title="Opaque handle to a Renderscript ProgramStore object.">rs_program_store</a> ps);
+<a name="l00058"></a>00058
+<a name="l00064"></a>00064 extern <span class="keywordtype">bool</span> __attribute__((overloadable))
+<a name="l00065"></a>00065 rsgProgramStoreIsColorMaskBlueEnabled(<a class="code" href="structrs__program__store.html" title="Opaque handle to a Renderscript ProgramStore object.">rs_program_store</a> ps);
+<a name="l00066"></a>00066
+<a name="l00072"></a>00072 extern <span class="keywordtype">bool</span> __attribute__((overloadable))
+<a name="l00073"></a>00073 rsgProgramStoreIsColorMaskAlphaEnabled(<a class="code" href="structrs__program__store.html" title="Opaque handle to a Renderscript ProgramStore object.">rs_program_store</a> ps);
+<a name="l00074"></a>00074
+<a name="l00080"></a>00080 extern rs_blend_src_func __attribute__((overloadable))
+<a name="l00081"></a>00081 rsgProgramStoreGetBlendSrcFunc(<a class="code" href="structrs__program__store.html" title="Opaque handle to a Renderscript ProgramStore object.">rs_program_store</a> ps);
+<a name="l00082"></a>00082
+<a name="l00088"></a>00088 extern rs_blend_dst_func __attribute__((overloadable))
+<a name="l00089"></a>00089 rsgProgramStoreGetBlendDstFunc(<a class="code" href="structrs__program__store.html" title="Opaque handle to a Renderscript ProgramStore object.">rs_program_store</a> ps);
+<a name="l00090"></a>00090
+<a name="l00096"></a>00096 extern <span class="keywordtype">bool</span> __attribute__((overloadable))
+<a name="l00097"></a>00097 rsgProgramStoreIsDitherEnabled(<a class="code" href="structrs__program__store.html" title="Opaque handle to a Renderscript ProgramStore object.">rs_program_store</a> ps);
+<a name="l00098"></a>00098
+<a name="l00104"></a>00104 extern <span class="keywordtype">bool</span> __attribute__((overloadable))
+<a name="l00105"></a>00105 rsgProgramRasterIsPointSpriteEnabled(<a class="code" href="structrs__program__raster.html" title="Opaque handle to a Renderscript ProgramRaster object.">rs_program_raster</a> pr);
+<a name="l00106"></a>00106
+<a name="l00112"></a>00112 extern rs_cull_mode __attribute__((overloadable))
+<a name="l00113"></a>00113 rsgProgramRasterGetCullMode(<a class="code" href="structrs__program__raster.html" title="Opaque handle to a Renderscript ProgramRaster object.">rs_program_raster</a> pr);
+<a name="l00114"></a>00114
+<a name="l00115"></a>00115 <span class="preprocessor">#endif // (defined(RS_VERSION) && (RS_VERSION >= 16))</span>
+<a name="l00116"></a>00116 <span class="preprocessor"></span>
+<a name="l00117"></a>00117 <span class="preprocessor">#endif // __RS_PROGRAM_RSH__</span>
+<a name="l00118"></a>00118 <span class="preprocessor"></span>
+</pre></div></div>
+</div>
+
+</body>
+</html>
diff --git a/docs/html/reference/renderscript/rs__quaternion_8rsh.html b/docs/html/reference/renderscript/rs__quaternion_8rsh.html
index bd6979c..389b792 100644
--- a/docs/html/reference/renderscript/rs__quaternion_8rsh.html
+++ b/docs/html/reference/renderscript/rs__quaternion_8rsh.html
@@ -3,7 +3,7 @@
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<title>/src/ics-mr1/frameworks/base/libs/rs/scriptc/rs_quaternion.rsh File Reference</title>
+<title>rs_quaternion.rsh File Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
@@ -27,7 +27,7 @@
<div class="summary">
<a href="#func-members">Functions</a> </div>
<div class="headertitle">
-<div class="title">/src/ics-mr1/frameworks/base/libs/rs/scriptc/rs_quaternion.rsh File Reference</div> </div>
+<div class="title">rs_quaternion.rsh File Reference</div> </div>
</div>
<div class="contents">
<table class="memberdecls">
diff --git a/docs/html/reference/renderscript/rs__quaternion_8rsh_source.html b/docs/html/reference/renderscript/rs__quaternion_8rsh_source.html
index c08565a..93e4e5d 100644
--- a/docs/html/reference/renderscript/rs__quaternion_8rsh_source.html
+++ b/docs/html/reference/renderscript/rs__quaternion_8rsh_source.html
@@ -3,7 +3,7 @@
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<title>/src/ics-mr1/frameworks/base/libs/rs/scriptc/rs_quaternion.rsh Source File</title>
+<title>rs_quaternion.rsh Source File</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
@@ -24,7 +24,7 @@
</div>
<div class="header">
<div class="headertitle">
-<div class="title">/src/ics-mr1/frameworks/base/libs/rs/scriptc/rs_quaternion.rsh</div> </div>
+<div class="title">rs_quaternion.rsh</div> </div>
</div>
<div class="contents">
<a href="rs__quaternion_8rsh.html">Go to the documentation of this file.</a><div class="fragment"><pre class="fragment"><a name="l00001"></a>00001 <span class="comment">/*</span>
diff --git a/docs/html/reference/renderscript/rs__sampler_8rsh.html b/docs/html/reference/renderscript/rs__sampler_8rsh.html
new file mode 100644
index 0000000..f45dd28
--- /dev/null
+++ b/docs/html/reference/renderscript/rs__sampler_8rsh.html
@@ -0,0 +1,38 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+
+<title>rs_sampler.rsh File Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+
+
+
+</head>
+<body>
+<div id="top"><!-- do not remove this div! -->
+
+
+<!-- Generated by Doxygen 1.7.5.1 -->
+ <div id="navrow1" class="tabs">
+ <ul class="tablist">
+ <li><a href="index.html"><span>Overview</span></a></li>
+ <li class="current"><a href="globals.html"><span>Globals</span></a></li>
+ <li><a href="annotated.html"><span>Structs</span></a></li>
+ </ul>
+ </div>
+</div>
+<div class="header">
+ <div class="headertitle">
+<div class="title">rs_sampler.rsh File Reference</div> </div>
+</div>
+<div class="contents">
+<hr/><a name="details" id="details"></a><h2>Detailed Description</h2>
+<div class="textblock"><p>Sampler routines. </p>
+
+<p>Definition in file <a class="el" href="rs__sampler_8rsh_source.html">rs_sampler.rsh</a>.</p>
+</div></div>
+
+</body>
+</html>
diff --git a/docs/html/reference/renderscript/rs__sampler_8rsh_source.html b/docs/html/reference/renderscript/rs__sampler_8rsh_source.html
new file mode 100644
index 0000000..30fb9c0
--- /dev/null
+++ b/docs/html/reference/renderscript/rs__sampler_8rsh_source.html
@@ -0,0 +1,75 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+
+<title>rs_sampler.rsh Source File</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+
+
+
+</head>
+<body>
+<div id="top"><!-- do not remove this div! -->
+
+
+<!-- Generated by Doxygen 1.7.5.1 -->
+ <div id="navrow1" class="tabs">
+ <ul class="tablist">
+ <li><a href="index.html"><span>Overview</span></a></li>
+ <li class="current"><a href="globals.html"><span>Globals</span></a></li>
+ <li><a href="annotated.html"><span>Structs</span></a></li>
+ </ul>
+ </div>
+<div class="header">
+ <div class="headertitle">
+<div class="title">rs_sampler.rsh</div> </div>
+</div>
+<div class="contents">
+<a href="rs__sampler_8rsh.html">Go to the documentation of this file.</a><div class="fragment"><pre class="fragment"><a name="l00001"></a>00001 <span class="comment">/*</span>
+<a name="l00002"></a>00002 <span class="comment"> * Copyright (C) 2012 The Android Open Source Project</span>
+<a name="l00003"></a>00003 <span class="comment"> *</span>
+<a name="l00004"></a>00004 <span class="comment"> * Licensed under the Apache License, Version 2.0 (the "License");</span>
+<a name="l00005"></a>00005 <span class="comment"> * you may not use this file except in compliance with the License.</span>
+<a name="l00006"></a>00006 <span class="comment"> * You may obtain a copy of the License at</span>
+<a name="l00007"></a>00007 <span class="comment"> *</span>
+<a name="l00008"></a>00008 <span class="comment"> * http://www.apache.org/licenses/LICENSE-2.0</span>
+<a name="l00009"></a>00009 <span class="comment"> *</span>
+<a name="l00010"></a>00010 <span class="comment"> * Unless required by applicable law or agreed to in writing, software</span>
+<a name="l00011"></a>00011 <span class="comment"> * distributed under the License is distributed on an "AS IS" BASIS,</span>
+<a name="l00012"></a>00012 <span class="comment"> * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.</span>
+<a name="l00013"></a>00013 <span class="comment"> * See the License for the specific language governing permissions and</span>
+<a name="l00014"></a>00014 <span class="comment"> * limitations under the License.</span>
+<a name="l00015"></a>00015 <span class="comment"> */</span>
+<a name="l00016"></a>00016
+<a name="l00023"></a>00023 <span class="preprocessor">#ifndef __RS_SAMPLER_RSH__</span>
+<a name="l00024"></a>00024 <span class="preprocessor"></span><span class="preprocessor">#define __RS_SAMPLER_RSH__</span>
+<a name="l00025"></a>00025 <span class="preprocessor"></span>
+<a name="l00026"></a>00026 <span class="comment">// New API's</span>
+<a name="l00027"></a>00027 <span class="preprocessor">#if (defined(RS_VERSION) && (RS_VERSION >= 16))</span>
+<a name="l00028"></a>00028 <span class="preprocessor"></span>
+<a name="l00035"></a>00035 <span class="keyword">extern</span> rs_sampler_value __attribute__((overloadable))
+<a name="l00036"></a>00036 rsSamplerGetMinification(<a class="code" href="structrs__sampler.html" title="Opaque handle to a Renderscript sampler object.">rs_sampler</a> s);
+<a name="l00037"></a>00037
+<a name="l00044"></a>00044 extern rs_sampler_value __attribute__((overloadable))
+<a name="l00045"></a>00045 rsSamplerGetMagnification(<a class="code" href="structrs__sampler.html" title="Opaque handle to a Renderscript sampler object.">rs_sampler</a> s);
+<a name="l00046"></a>00046
+<a name="l00053"></a>00053 extern rs_sampler_value __attribute__((overloadable))
+<a name="l00054"></a>00054 rsSamplerGetWrapS(<a class="code" href="structrs__sampler.html" title="Opaque handle to a Renderscript sampler object.">rs_sampler</a> s);
+<a name="l00055"></a>00055
+<a name="l00062"></a>00062 extern rs_sampler_value __attribute__((overloadable))
+<a name="l00063"></a>00063 rsSamplerGetWrapT(<a class="code" href="structrs__sampler.html" title="Opaque handle to a Renderscript sampler object.">rs_sampler</a> s);
+<a name="l00064"></a>00064
+<a name="l00071"></a>00071 extern <span class="keywordtype">float</span> __attribute__((overloadable))
+<a name="l00072"></a>00072 rsSamplerGetAnisotropy(<a class="code" href="structrs__sampler.html" title="Opaque handle to a Renderscript sampler object.">rs_sampler</a> s);
+<a name="l00073"></a>00073
+<a name="l00074"></a>00074 <span class="preprocessor">#endif // (defined(RS_VERSION) && (RS_VERSION >= 16))</span>
+<a name="l00075"></a>00075 <span class="preprocessor"></span>
+<a name="l00076"></a>00076 <span class="preprocessor">#endif // __RS_SAMPLER_RSH__</span>
+<a name="l00077"></a>00077 <span class="preprocessor"></span>
+</pre></div></div>
+</div>
+
+</body>
+</html>
diff --git a/docs/html/reference/renderscript/rs__time_8rsh.html b/docs/html/reference/renderscript/rs__time_8rsh.html
index 34ac9cd..a3e63d0 100644
--- a/docs/html/reference/renderscript/rs__time_8rsh.html
+++ b/docs/html/reference/renderscript/rs__time_8rsh.html
@@ -3,7 +3,7 @@
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<title>/src/ics-mr1/frameworks/base/libs/rs/scriptc/rs_time.rsh File Reference</title>
+<title>rs_time.rsh File Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
@@ -29,7 +29,7 @@
<a href="#typedef-members">Typedefs</a> |
<a href="#func-members">Functions</a> </div>
<div class="headertitle">
-<div class="title">/src/ics-mr1/frameworks/base/libs/rs/scriptc/rs_time.rsh File Reference</div> </div>
+<div class="title">rs_time.rsh File Reference</div> </div>
</div>
<div class="contents">
<table class="memberdecls">
diff --git a/docs/html/reference/renderscript/rs__time_8rsh_source.html b/docs/html/reference/renderscript/rs__time_8rsh_source.html
index 1c5c74b..208924a 100644
--- a/docs/html/reference/renderscript/rs__time_8rsh_source.html
+++ b/docs/html/reference/renderscript/rs__time_8rsh_source.html
@@ -3,7 +3,7 @@
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<title>/src/ics-mr1/frameworks/base/libs/rs/scriptc/rs_time.rsh Source File</title>
+<title>rs_time.rsh Source File</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
@@ -24,7 +24,7 @@
</div>
<div class="header">
<div class="headertitle">
-<div class="title">/src/ics-mr1/frameworks/base/libs/rs/scriptc/rs_time.rsh</div> </div>
+<div class="title">rs_time.rsh</div> </div>
</div>
<div class="contents">
<a href="rs__time_8rsh.html">Go to the documentation of this file.</a><div class="fragment"><pre class="fragment"><a name="l00001"></a>00001 <span class="comment">/*</span>
diff --git a/docs/html/reference/renderscript/rs__types_8rsh.html b/docs/html/reference/renderscript/rs__types_8rsh.html
index bd601f2..c3caa6f 100644
--- a/docs/html/reference/renderscript/rs__types_8rsh.html
+++ b/docs/html/reference/renderscript/rs__types_8rsh.html
@@ -3,7 +3,7 @@
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<title>/src/ics-mr1/frameworks/base/libs/rs/scriptc/rs_types.rsh File Reference</title>
+<title>rs_types.rsh File Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
@@ -28,7 +28,7 @@
<a href="#nested-classes">Data Structures</a> |
<a href="#typedef-members">Typedefs</a> </div>
<div class="headertitle">
-<div class="title">/src/ics-mr1/frameworks/base/libs/rs/scriptc/rs_types.rsh File Reference</div> </div>
+<div class="title">rs_types.rsh File Reference</div> </div>
</div>
<div class="contents">
<div class="textblock"><code>#include "stdbool.h"</code><br/>
@@ -47,6 +47,8 @@
<tr><td class="mdescLeft"> </td><td class="mdescRight">Opaque handle to a Renderscript script object. <a href="structrs__script.html#details">More...</a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">struct  </td><td class="memItemRight" valign="bottom"><a class="el" href="structrs__mesh.html">rs_mesh</a></td></tr>
<tr><td class="mdescLeft"> </td><td class="mdescRight">Opaque handle to a Renderscript mesh object. <a href="structrs__mesh.html#details">More...</a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">struct  </td><td class="memItemRight" valign="bottom"><a class="el" href="structrs__path.html">rs_path</a></td></tr>
+<tr><td class="mdescLeft"> </td><td class="mdescRight">Opaque handle to a Renderscript Path object. <a href="structrs__path.html#details">More...</a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">struct  </td><td class="memItemRight" valign="bottom"><a class="el" href="structrs__program__fragment.html">rs_program_fragment</a></td></tr>
<tr><td class="mdescLeft"> </td><td class="mdescRight">Opaque handle to a Renderscript ProgramFragment object. <a href="structrs__program__fragment.html#details">More...</a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">struct  </td><td class="memItemRight" valign="bottom"><a class="el" href="structrs__program__vertex.html">rs_program_vertex</a></td></tr>
@@ -132,7 +134,7 @@
<div class="memdoc">
<p>Vector version of the basic char type. Provides two char fields packed into a single 16 bit field with 16 bit alignment. </p>
-<p>Definition at line <a class="el" href="rs__types_8rsh_source.html#l00273">273</a> of file <a class="el" href="rs__types_8rsh_source.html">rs_types.rsh</a>.</p>
+<p>Definition at line <a class="el" href="rs__types_8rsh_source.html#l00279">279</a> of file <a class="el" href="rs__types_8rsh_source.html">rs_types.rsh</a>.</p>
</div>
</div>
@@ -148,7 +150,7 @@
<div class="memdoc">
<p>Vector version of the basic char type. Provides three char fields packed into a single 32 bit field with 32 bit alignment. </p>
-<p>Definition at line <a class="el" href="rs__types_8rsh_source.html#l00278">278</a> of file <a class="el" href="rs__types_8rsh_source.html">rs_types.rsh</a>.</p>
+<p>Definition at line <a class="el" href="rs__types_8rsh_source.html#l00284">284</a> of file <a class="el" href="rs__types_8rsh_source.html">rs_types.rsh</a>.</p>
</div>
</div>
@@ -164,7 +166,7 @@
<div class="memdoc">
<p>Vector version of the basic char type. Provides four char fields packed into a single 32 bit field with 32 bit alignment. </p>
-<p>Definition at line <a class="el" href="rs__types_8rsh_source.html#l00283">283</a> of file <a class="el" href="rs__types_8rsh_source.html">rs_types.rsh</a>.</p>
+<p>Definition at line <a class="el" href="rs__types_8rsh_source.html#l00289">289</a> of file <a class="el" href="rs__types_8rsh_source.html">rs_types.rsh</a>.</p>
</div>
</div>
@@ -180,7 +182,7 @@
<div class="memdoc">
<p>Vector version of the basic double type. Provides two double fields packed into a single 128 bit field with 128 bit alignment. </p>
-<p>Definition at line <a class="el" href="rs__types_8rsh_source.html#l00193">193</a> of file <a class="el" href="rs__types_8rsh_source.html">rs_types.rsh</a>.</p>
+<p>Definition at line <a class="el" href="rs__types_8rsh_source.html#l00199">199</a> of file <a class="el" href="rs__types_8rsh_source.html">rs_types.rsh</a>.</p>
</div>
</div>
@@ -196,7 +198,7 @@
<div class="memdoc">
<p>Vector version of the basic double type. Provides three double fields packed into a single 256 bit field with 256 bit alignment. </p>
-<p>Definition at line <a class="el" href="rs__types_8rsh_source.html#l00198">198</a> of file <a class="el" href="rs__types_8rsh_source.html">rs_types.rsh</a>.</p>
+<p>Definition at line <a class="el" href="rs__types_8rsh_source.html#l00204">204</a> of file <a class="el" href="rs__types_8rsh_source.html">rs_types.rsh</a>.</p>
</div>
</div>
@@ -212,7 +214,7 @@
<div class="memdoc">
<p>Vector version of the basic double type. Provides four double fields packed into a single 256 bit field with 256 bit alignment. </p>
-<p>Definition at line <a class="el" href="rs__types_8rsh_source.html#l00203">203</a> of file <a class="el" href="rs__types_8rsh_source.html">rs_types.rsh</a>.</p>
+<p>Definition at line <a class="el" href="rs__types_8rsh_source.html#l00209">209</a> of file <a class="el" href="rs__types_8rsh_source.html">rs_types.rsh</a>.</p>
</div>
</div>
@@ -228,7 +230,7 @@
<div class="memdoc">
<p>Vector version of the basic float type. Provides two float fields packed into a single 64 bit field with 64 bit alignment. </p>
-<p>Definition at line <a class="el" href="rs__types_8rsh_source.html#l00176">176</a> of file <a class="el" href="rs__types_8rsh_source.html">rs_types.rsh</a>.</p>
+<p>Definition at line <a class="el" href="rs__types_8rsh_source.html#l00182">182</a> of file <a class="el" href="rs__types_8rsh_source.html">rs_types.rsh</a>.</p>
</div>
</div>
@@ -244,7 +246,7 @@
<div class="memdoc">
<p>Vector version of the basic float type. Provides three float fields packed into a single 128 bit field with 128 bit alignment. </p>
-<p>Definition at line <a class="el" href="rs__types_8rsh_source.html#l00181">181</a> of file <a class="el" href="rs__types_8rsh_source.html">rs_types.rsh</a>.</p>
+<p>Definition at line <a class="el" href="rs__types_8rsh_source.html#l00187">187</a> of file <a class="el" href="rs__types_8rsh_source.html">rs_types.rsh</a>.</p>
</div>
</div>
@@ -260,7 +262,7 @@
<div class="memdoc">
<p>Vector version of the basic float type. Provides four float fields packed into a single 128 bit field with 128 bit alignment. </p>
-<p>Definition at line <a class="el" href="rs__types_8rsh_source.html#l00187">187</a> of file <a class="el" href="rs__types_8rsh_source.html">rs_types.rsh</a>.</p>
+<p>Definition at line <a class="el" href="rs__types_8rsh_source.html#l00193">193</a> of file <a class="el" href="rs__types_8rsh_source.html">rs_types.rsh</a>.</p>
</div>
</div>
@@ -292,7 +294,7 @@
<div class="memdoc">
<p>Vector version of the basic int type. Provides two int fields packed into a single 64 bit field with 64 bit alignment. </p>
-<p>Definition at line <a class="el" href="rs__types_8rsh_source.html#l00305">305</a> of file <a class="el" href="rs__types_8rsh_source.html">rs_types.rsh</a>.</p>
+<p>Definition at line <a class="el" href="rs__types_8rsh_source.html#l00311">311</a> of file <a class="el" href="rs__types_8rsh_source.html">rs_types.rsh</a>.</p>
</div>
</div>
@@ -308,7 +310,7 @@
<div class="memdoc">
<p>Vector version of the basic int type. Provides three int fields packed into a single 128 bit field with 128 bit alignment. </p>
-<p>Definition at line <a class="el" href="rs__types_8rsh_source.html#l00310">310</a> of file <a class="el" href="rs__types_8rsh_source.html">rs_types.rsh</a>.</p>
+<p>Definition at line <a class="el" href="rs__types_8rsh_source.html#l00316">316</a> of file <a class="el" href="rs__types_8rsh_source.html">rs_types.rsh</a>.</p>
</div>
</div>
@@ -340,7 +342,7 @@
<div class="memdoc">
<p>Vector version of the basic int type. Provides two four fields packed into a single 128 bit field with 128 bit alignment. </p>
-<p>Definition at line <a class="el" href="rs__types_8rsh_source.html#l00315">315</a> of file <a class="el" href="rs__types_8rsh_source.html">rs_types.rsh</a>.</p>
+<p>Definition at line <a class="el" href="rs__types_8rsh_source.html#l00321">321</a> of file <a class="el" href="rs__types_8rsh_source.html">rs_types.rsh</a>.</p>
</div>
</div>
@@ -388,7 +390,7 @@
<div class="memdoc">
<p>Vector version of the basic long type. Provides two long fields packed into a single 128 bit field with 128 bit alignment. </p>
-<p>Definition at line <a class="el" href="rs__types_8rsh_source.html#l00321">321</a> of file <a class="el" href="rs__types_8rsh_source.html">rs_types.rsh</a>.</p>
+<p>Definition at line <a class="el" href="rs__types_8rsh_source.html#l00327">327</a> of file <a class="el" href="rs__types_8rsh_source.html">rs_types.rsh</a>.</p>
</div>
</div>
@@ -404,7 +406,7 @@
<div class="memdoc">
<p>Vector version of the basic long type. Provides three long fields packed into a single 256 bit field with 256 bit alignment. </p>
-<p>Definition at line <a class="el" href="rs__types_8rsh_source.html#l00326">326</a> of file <a class="el" href="rs__types_8rsh_source.html">rs_types.rsh</a>.</p>
+<p>Definition at line <a class="el" href="rs__types_8rsh_source.html#l00332">332</a> of file <a class="el" href="rs__types_8rsh_source.html">rs_types.rsh</a>.</p>
</div>
</div>
@@ -420,7 +422,7 @@
<div class="memdoc">
<p>Vector version of the basic long type. Provides four long fields packed into a single 256 bit field with 256 bit alignment. </p>
-<p>Definition at line <a class="el" href="rs__types_8rsh_source.html#l00331">331</a> of file <a class="el" href="rs__types_8rsh_source.html">rs_types.rsh</a>.</p>
+<p>Definition at line <a class="el" href="rs__types_8rsh_source.html#l00337">337</a> of file <a class="el" href="rs__types_8rsh_source.html">rs_types.rsh</a>.</p>
</div>
</div>
@@ -436,7 +438,7 @@
<div class="memdoc">
<p>quaternion type for use with the quaternion functions </p>
-<p>Definition at line <a class="el" href="rs__types_8rsh_source.html#l00364">364</a> of file <a class="el" href="rs__types_8rsh_source.html">rs_types.rsh</a>.</p>
+<p>Definition at line <a class="el" href="rs__types_8rsh_source.html#l00370">370</a> of file <a class="el" href="rs__types_8rsh_source.html">rs_types.rsh</a>.</p>
</div>
</div>
@@ -452,7 +454,7 @@
<div class="memdoc">
<p>Vector version of the basic short type. Provides two short fields packed into a single 32 bit field with 32 bit alignment. </p>
-<p>Definition at line <a class="el" href="rs__types_8rsh_source.html#l00289">289</a> of file <a class="el" href="rs__types_8rsh_source.html">rs_types.rsh</a>.</p>
+<p>Definition at line <a class="el" href="rs__types_8rsh_source.html#l00295">295</a> of file <a class="el" href="rs__types_8rsh_source.html">rs_types.rsh</a>.</p>
</div>
</div>
@@ -468,7 +470,7 @@
<div class="memdoc">
<p>Vector version of the basic short type. Provides three short fields packed into a single 64 bit field with 64 bit alignment. </p>
-<p>Definition at line <a class="el" href="rs__types_8rsh_source.html#l00294">294</a> of file <a class="el" href="rs__types_8rsh_source.html">rs_types.rsh</a>.</p>
+<p>Definition at line <a class="el" href="rs__types_8rsh_source.html#l00300">300</a> of file <a class="el" href="rs__types_8rsh_source.html">rs_types.rsh</a>.</p>
</div>
</div>
@@ -484,7 +486,7 @@
<div class="memdoc">
<p>Vector version of the basic short type. Provides four short fields packed into a single 64 bit field with 64 bit alignment. </p>
-<p>Definition at line <a class="el" href="rs__types_8rsh_source.html#l00299">299</a> of file <a class="el" href="rs__types_8rsh_source.html">rs_types.rsh</a>.</p>
+<p>Definition at line <a class="el" href="rs__types_8rsh_source.html#l00305">305</a> of file <a class="el" href="rs__types_8rsh_source.html">rs_types.rsh</a>.</p>
</div>
</div>
@@ -548,7 +550,7 @@
<div class="memdoc">
<p>Vector version of the basic uchar type. Provides two uchar fields packed into a single 16 bit field with 16 bit alignment. </p>
-<p>Definition at line <a class="el" href="rs__types_8rsh_source.html#l00209">209</a> of file <a class="el" href="rs__types_8rsh_source.html">rs_types.rsh</a>.</p>
+<p>Definition at line <a class="el" href="rs__types_8rsh_source.html#l00215">215</a> of file <a class="el" href="rs__types_8rsh_source.html">rs_types.rsh</a>.</p>
</div>
</div>
@@ -564,7 +566,7 @@
<div class="memdoc">
<p>Vector version of the basic uchar type. Provides three uchar fields packed into a single 32 bit field with 32 bit alignment. </p>
-<p>Definition at line <a class="el" href="rs__types_8rsh_source.html#l00214">214</a> of file <a class="el" href="rs__types_8rsh_source.html">rs_types.rsh</a>.</p>
+<p>Definition at line <a class="el" href="rs__types_8rsh_source.html#l00220">220</a> of file <a class="el" href="rs__types_8rsh_source.html">rs_types.rsh</a>.</p>
</div>
</div>
@@ -580,7 +582,7 @@
<div class="memdoc">
<p>Vector version of the basic uchar type. Provides four uchar fields packed into a single 32 bit field with 32 bit alignment. </p>
-<p>Definition at line <a class="el" href="rs__types_8rsh_source.html#l00219">219</a> of file <a class="el" href="rs__types_8rsh_source.html">rs_types.rsh</a>.</p>
+<p>Definition at line <a class="el" href="rs__types_8rsh_source.html#l00225">225</a> of file <a class="el" href="rs__types_8rsh_source.html">rs_types.rsh</a>.</p>
</div>
</div>
@@ -628,7 +630,7 @@
<div class="memdoc">
<p>Vector version of the basic uint type. Provides two uint fields packed into a single 64 bit field with 64 bit alignment. </p>
-<p>Definition at line <a class="el" href="rs__types_8rsh_source.html#l00241">241</a> of file <a class="el" href="rs__types_8rsh_source.html">rs_types.rsh</a>.</p>
+<p>Definition at line <a class="el" href="rs__types_8rsh_source.html#l00247">247</a> of file <a class="el" href="rs__types_8rsh_source.html">rs_types.rsh</a>.</p>
</div>
</div>
@@ -644,7 +646,7 @@
<div class="memdoc">
<p>Vector version of the basic uint type. Provides three uint fields packed into a single 128 bit field with 128 bit alignment. </p>
-<p>Definition at line <a class="el" href="rs__types_8rsh_source.html#l00246">246</a> of file <a class="el" href="rs__types_8rsh_source.html">rs_types.rsh</a>.</p>
+<p>Definition at line <a class="el" href="rs__types_8rsh_source.html#l00252">252</a> of file <a class="el" href="rs__types_8rsh_source.html">rs_types.rsh</a>.</p>
</div>
</div>
@@ -676,7 +678,7 @@
<div class="memdoc">
<p>Vector version of the basic uint type. Provides four uint fields packed into a single 128 bit field with 128 bit alignment. </p>
-<p>Definition at line <a class="el" href="rs__types_8rsh_source.html#l00251">251</a> of file <a class="el" href="rs__types_8rsh_source.html">rs_types.rsh</a>.</p>
+<p>Definition at line <a class="el" href="rs__types_8rsh_source.html#l00257">257</a> of file <a class="el" href="rs__types_8rsh_source.html">rs_types.rsh</a>.</p>
</div>
</div>
@@ -740,7 +742,7 @@
<div class="memdoc">
<p>Vector version of the basic ulong type. Provides two ulong fields packed into a single 128 bit field with 128 bit alignment. </p>
-<p>Definition at line <a class="el" href="rs__types_8rsh_source.html#l00257">257</a> of file <a class="el" href="rs__types_8rsh_source.html">rs_types.rsh</a>.</p>
+<p>Definition at line <a class="el" href="rs__types_8rsh_source.html#l00263">263</a> of file <a class="el" href="rs__types_8rsh_source.html">rs_types.rsh</a>.</p>
</div>
</div>
@@ -756,7 +758,7 @@
<div class="memdoc">
<p>Vector version of the basic ulong type. Provides three ulong fields packed into a single 256 bit field with 256 bit alignment. </p>
-<p>Definition at line <a class="el" href="rs__types_8rsh_source.html#l00262">262</a> of file <a class="el" href="rs__types_8rsh_source.html">rs_types.rsh</a>.</p>
+<p>Definition at line <a class="el" href="rs__types_8rsh_source.html#l00268">268</a> of file <a class="el" href="rs__types_8rsh_source.html">rs_types.rsh</a>.</p>
</div>
</div>
@@ -772,7 +774,7 @@
<div class="memdoc">
<p>Vector version of the basic ulong type. Provides four ulong fields packed into a single 256 bit field with 256 bit alignment. </p>
-<p>Definition at line <a class="el" href="rs__types_8rsh_source.html#l00267">267</a> of file <a class="el" href="rs__types_8rsh_source.html">rs_types.rsh</a>.</p>
+<p>Definition at line <a class="el" href="rs__types_8rsh_source.html#l00273">273</a> of file <a class="el" href="rs__types_8rsh_source.html">rs_types.rsh</a>.</p>
</div>
</div>
@@ -804,7 +806,7 @@
<div class="memdoc">
<p>Vector version of the basic ushort type. Provides two ushort fields packed into a single 32 bit field with 32 bit alignment. </p>
-<p>Definition at line <a class="el" href="rs__types_8rsh_source.html#l00225">225</a> of file <a class="el" href="rs__types_8rsh_source.html">rs_types.rsh</a>.</p>
+<p>Definition at line <a class="el" href="rs__types_8rsh_source.html#l00231">231</a> of file <a class="el" href="rs__types_8rsh_source.html">rs_types.rsh</a>.</p>
</div>
</div>
@@ -820,7 +822,7 @@
<div class="memdoc">
<p>Vector version of the basic ushort type. Provides three ushort fields packed into a single 64 bit field with 64 bit alignment. </p>
-<p>Definition at line <a class="el" href="rs__types_8rsh_source.html#l00230">230</a> of file <a class="el" href="rs__types_8rsh_source.html">rs_types.rsh</a>.</p>
+<p>Definition at line <a class="el" href="rs__types_8rsh_source.html#l00236">236</a> of file <a class="el" href="rs__types_8rsh_source.html">rs_types.rsh</a>.</p>
</div>
</div>
@@ -836,7 +838,7 @@
<div class="memdoc">
<p>Vector version of the basic ushort type. Provides four ushort fields packed into a single 64 bit field with 64 bit alignment. </p>
-<p>Definition at line <a class="el" href="rs__types_8rsh_source.html#l00235">235</a> of file <a class="el" href="rs__types_8rsh_source.html">rs_types.rsh</a>.</p>
+<p>Definition at line <a class="el" href="rs__types_8rsh_source.html#l00241">241</a> of file <a class="el" href="rs__types_8rsh_source.html">rs_types.rsh</a>.</p>
</div>
</div>
diff --git a/docs/html/reference/renderscript/rs__types_8rsh_source.html b/docs/html/reference/renderscript/rs__types_8rsh_source.html
index 96c55e1..641a753 100644
--- a/docs/html/reference/renderscript/rs__types_8rsh_source.html
+++ b/docs/html/reference/renderscript/rs__types_8rsh_source.html
@@ -3,7 +3,7 @@
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<title>/src/ics-mr1/frameworks/base/libs/rs/scriptc/rs_types.rsh Source File</title>
+<title>rs_types.rsh Source File</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
@@ -24,7 +24,7 @@
</div>
<div class="header">
<div class="headertitle">
-<div class="title">/src/ics-mr1/frameworks/base/libs/rs/scriptc/rs_types.rsh</div> </div>
+<div class="title">rs_types.rsh</div> </div>
</div>
<div class="contents">
<a href="rs__types_8rsh.html">Go to the documentation of this file.</a><div class="fragment"><pre class="fragment"><a name="l00001"></a>00001 <span class="comment">/*</span>
@@ -70,89 +70,214 @@
<a name="l00127"></a><a class="code" href="structrs__sampler.html">00127</a> typedef struct { <span class="keyword">const</span> <span class="keywordtype">int</span>* <span class="keyword">const</span> p; } __attribute__((packed, aligned(4))) <a class="code" href="structrs__sampler.html" title="Opaque handle to a Renderscript sampler object.">rs_sampler</a>;
<a name="l00133"></a><a class="code" href="structrs__script.html">00133</a> typedef struct { <span class="keyword">const</span> <span class="keywordtype">int</span>* <span class="keyword">const</span> p; } __attribute__((packed, aligned(4))) <a class="code" href="structrs__script.html" title="Opaque handle to a Renderscript script object.">rs_script</a>;
<a name="l00139"></a><a class="code" href="structrs__mesh.html">00139</a> typedef struct { <span class="keyword">const</span> <span class="keywordtype">int</span>* <span class="keyword">const</span> p; } __attribute__((packed, aligned(4))) <a class="code" href="structrs__mesh.html" title="Opaque handle to a Renderscript mesh object.">rs_mesh</a>;
-<a name="l00145"></a><a class="code" href="structrs__program__fragment.html">00145</a> typedef struct { <span class="keyword">const</span> <span class="keywordtype">int</span>* <span class="keyword">const</span> p; } __attribute__((packed, aligned(4))) <a class="code" href="structrs__program__fragment.html" title="Opaque handle to a Renderscript ProgramFragment object.">rs_program_fragment</a>;
-<a name="l00151"></a><a class="code" href="structrs__program__vertex.html">00151</a> typedef struct { <span class="keyword">const</span> <span class="keywordtype">int</span>* <span class="keyword">const</span> p; } __attribute__((packed, aligned(4))) <a class="code" href="structrs__program__vertex.html" title="Opaque handle to a Renderscript ProgramVertex object.">rs_program_vertex</a>;
-<a name="l00157"></a><a class="code" href="structrs__program__raster.html">00157</a> typedef struct { <span class="keyword">const</span> <span class="keywordtype">int</span>* <span class="keyword">const</span> p; } __attribute__((packed, aligned(4))) <a class="code" href="structrs__program__raster.html" title="Opaque handle to a Renderscript ProgramRaster object.">rs_program_raster</a>;
-<a name="l00163"></a><a class="code" href="structrs__program__store.html">00163</a> typedef struct { <span class="keyword">const</span> <span class="keywordtype">int</span>* <span class="keyword">const</span> p; } __attribute__((packed, aligned(4))) <a class="code" href="structrs__program__store.html" title="Opaque handle to a Renderscript ProgramStore object.">rs_program_store</a>;
-<a name="l00169"></a><a class="code" href="structrs__font.html">00169</a> typedef struct { <span class="keyword">const</span> <span class="keywordtype">int</span>* <span class="keyword">const</span> p; } __attribute__((packed, aligned(4))) <a class="code" href="structrs__font.html" title="Opaque handle to a Renderscript font object.">rs_font</a>;
-<a name="l00170"></a>00170
-<a name="l00176"></a><a class="code" href="rs__types_8rsh.html#a5086d0fcb71f916c936af486ccf0dd41">00176</a> typedef <span class="keywordtype">float</span> <a class="code" href="rs__types_8rsh.html#a5086d0fcb71f916c936af486ccf0dd41">float2</a> __attribute__((ext_vector_type(2)));
-<a name="l00181"></a><a class="code" href="rs__types_8rsh.html#a0046fa0f208d0899adbcf1f8b5aafadd">00181</a> typedef <span class="keywordtype">float</span> <a class="code" href="rs__types_8rsh.html#a0046fa0f208d0899adbcf1f8b5aafadd">float3</a> __attribute__((ext_vector_type(3)));
-<a name="l00187"></a><a class="code" href="rs__types_8rsh.html#adb5162dc168ddd471d948faa60b37c5e">00187</a> typedef <span class="keywordtype">float</span> <a class="code" href="rs__types_8rsh.html#adb5162dc168ddd471d948faa60b37c5e">float4</a> __attribute__((ext_vector_type(4)));
-<a name="l00188"></a>00188
-<a name="l00193"></a><a class="code" href="rs__types_8rsh.html#a75ef868cedebc2a6eeb1bc6ca6ca49c3">00193</a> typedef <span class="keywordtype">double</span> <a class="code" href="rs__types_8rsh.html#a75ef868cedebc2a6eeb1bc6ca6ca49c3">double2</a> __attribute__((ext_vector_type(2)));
-<a name="l00198"></a><a class="code" href="rs__types_8rsh.html#aa3c90d5a23d674185a13e95402eda7eb">00198</a> typedef <span class="keywordtype">double</span> <a class="code" href="rs__types_8rsh.html#aa3c90d5a23d674185a13e95402eda7eb">double3</a> __attribute__((ext_vector_type(3)));
-<a name="l00203"></a><a class="code" href="rs__types_8rsh.html#a60f4b04e076f0dd0ecc99c365fc4ca21">00203</a> typedef <span class="keywordtype">double</span> <a class="code" href="rs__types_8rsh.html#a60f4b04e076f0dd0ecc99c365fc4ca21">double4</a> __attribute__((ext_vector_type(4)));
-<a name="l00204"></a>00204
-<a name="l00209"></a><a class="code" href="rs__types_8rsh.html#aff5eb7cd53a34bb01924bf64485296de">00209</a> typedef <a class="code" href="rs__types_8rsh.html#a27c902d5ca78afa82d5ed75554d5cedc">uchar</a> <a class="code" href="rs__types_8rsh.html#aff5eb7cd53a34bb01924bf64485296de">uchar2</a> __attribute__((ext_vector_type(2)));
-<a name="l00214"></a><a class="code" href="rs__types_8rsh.html#a247b5eacf2b662849668cbc33120343f">00214</a> typedef <a class="code" href="rs__types_8rsh.html#a27c902d5ca78afa82d5ed75554d5cedc">uchar</a> <a class="code" href="rs__types_8rsh.html#a247b5eacf2b662849668cbc33120343f">uchar3</a> __attribute__((ext_vector_type(3)));
-<a name="l00219"></a><a class="code" href="rs__types_8rsh.html#ae6ed52a87d4ff920c303b13b00f7396d">00219</a> typedef <a class="code" href="rs__types_8rsh.html#a27c902d5ca78afa82d5ed75554d5cedc">uchar</a> <a class="code" href="rs__types_8rsh.html#ae6ed52a87d4ff920c303b13b00f7396d">uchar4</a> __attribute__((ext_vector_type(4)));
-<a name="l00220"></a>00220
-<a name="l00225"></a><a class="code" href="rs__types_8rsh.html#a24a9d78cfc32475e2c6eb1cdec239bf2">00225</a> typedef <a class="code" href="rs__types_8rsh.html#a9e58a7bf060b7a5fbf6a401d3020adca">ushort</a> <a class="code" href="rs__types_8rsh.html#a24a9d78cfc32475e2c6eb1cdec239bf2">ushort2</a> __attribute__((ext_vector_type(2)));
-<a name="l00230"></a><a class="code" href="rs__types_8rsh.html#ab78391445785d2ca0276392a9c97fcba">00230</a> typedef <a class="code" href="rs__types_8rsh.html#a9e58a7bf060b7a5fbf6a401d3020adca">ushort</a> <a class="code" href="rs__types_8rsh.html#ab78391445785d2ca0276392a9c97fcba">ushort3</a> __attribute__((ext_vector_type(3)));
-<a name="l00235"></a><a class="code" href="rs__types_8rsh.html#a77a09fa01d7fc721bbc44c32aac2d487">00235</a> typedef <a class="code" href="rs__types_8rsh.html#a9e58a7bf060b7a5fbf6a401d3020adca">ushort</a> <a class="code" href="rs__types_8rsh.html#a77a09fa01d7fc721bbc44c32aac2d487">ushort4</a> __attribute__((ext_vector_type(4)));
-<a name="l00236"></a>00236
-<a name="l00241"></a><a class="code" href="rs__types_8rsh.html#aaf90cd1f01a121e824fc6e1b927e7683">00241</a> typedef <a class="code" href="rs__types_8rsh.html#a4f5fce8c1ef282264f9214809524d836">uint</a> <a class="code" href="rs__types_8rsh.html#aaf90cd1f01a121e824fc6e1b927e7683">uint2</a> __attribute__((ext_vector_type(2)));
-<a name="l00246"></a><a class="code" href="rs__types_8rsh.html#ae80e36ac834c891aa76b09a220344e78">00246</a> typedef <a class="code" href="rs__types_8rsh.html#a4f5fce8c1ef282264f9214809524d836">uint</a> <a class="code" href="rs__types_8rsh.html#ae80e36ac834c891aa76b09a220344e78">uint3</a> __attribute__((ext_vector_type(3)));
-<a name="l00251"></a><a class="code" href="rs__types_8rsh.html#ad92f0ec6c2cdc1f11a6d7fe321047462">00251</a> typedef <a class="code" href="rs__types_8rsh.html#a4f5fce8c1ef282264f9214809524d836">uint</a> <a class="code" href="rs__types_8rsh.html#ad92f0ec6c2cdc1f11a6d7fe321047462">uint4</a> __attribute__((ext_vector_type(4)));
-<a name="l00252"></a>00252
-<a name="l00257"></a><a class="code" href="rs__types_8rsh.html#a56988b12ab16acf753356f7a5c70565a">00257</a> typedef <a class="code" href="rs__types_8rsh.html#ab46637ef82283186e57f54756fe67203">ulong</a> <a class="code" href="rs__types_8rsh.html#a56988b12ab16acf753356f7a5c70565a">ulong2</a> __attribute__((ext_vector_type(2)));
-<a name="l00262"></a><a class="code" href="rs__types_8rsh.html#ac623a569c28935fbedd3a8ed27ae0696">00262</a> typedef <a class="code" href="rs__types_8rsh.html#ab46637ef82283186e57f54756fe67203">ulong</a> <a class="code" href="rs__types_8rsh.html#ac623a569c28935fbedd3a8ed27ae0696">ulong3</a> __attribute__((ext_vector_type(3)));
-<a name="l00267"></a><a class="code" href="rs__types_8rsh.html#a3029c54b8e1779a1ddbdfe875432d137">00267</a> typedef <a class="code" href="rs__types_8rsh.html#ab46637ef82283186e57f54756fe67203">ulong</a> <a class="code" href="rs__types_8rsh.html#a3029c54b8e1779a1ddbdfe875432d137">ulong4</a> __attribute__((ext_vector_type(4)));
-<a name="l00268"></a>00268
-<a name="l00273"></a><a class="code" href="rs__types_8rsh.html#ac532b4c1895c8bd4fb75dc370c484351">00273</a> typedef <span class="keywordtype">char</span> <a class="code" href="rs__types_8rsh.html#ac532b4c1895c8bd4fb75dc370c484351">char2</a> __attribute__((ext_vector_type(2)));
-<a name="l00278"></a><a class="code" href="rs__types_8rsh.html#a4617fb31f4c03402515efee0a9b56210">00278</a> typedef <span class="keywordtype">char</span> <a class="code" href="rs__types_8rsh.html#a4617fb31f4c03402515efee0a9b56210">char3</a> __attribute__((ext_vector_type(3)));
-<a name="l00283"></a><a class="code" href="rs__types_8rsh.html#aecb498648daac97c7cc5f31c242dfa03">00283</a> typedef <span class="keywordtype">char</span> <a class="code" href="rs__types_8rsh.html#aecb498648daac97c7cc5f31c242dfa03">char4</a> __attribute__((ext_vector_type(4)));
-<a name="l00284"></a>00284
-<a name="l00289"></a><a class="code" href="rs__types_8rsh.html#a303d3ad18aaeacfcfeda2b8580b98796">00289</a> typedef <span class="keywordtype">short</span> <a class="code" href="rs__types_8rsh.html#a303d3ad18aaeacfcfeda2b8580b98796">short2</a> __attribute__((ext_vector_type(2)));
-<a name="l00294"></a><a class="code" href="rs__types_8rsh.html#a3f4967691ae2b249511b5f3dd9e18793">00294</a> typedef <span class="keywordtype">short</span> <a class="code" href="rs__types_8rsh.html#a3f4967691ae2b249511b5f3dd9e18793">short3</a> __attribute__((ext_vector_type(3)));
-<a name="l00299"></a><a class="code" href="rs__types_8rsh.html#a198219da0b1d51c8d7f8f12aad7e502d">00299</a> typedef <span class="keywordtype">short</span> <a class="code" href="rs__types_8rsh.html#a198219da0b1d51c8d7f8f12aad7e502d">short4</a> __attribute__((ext_vector_type(4)));
-<a name="l00300"></a>00300
-<a name="l00305"></a><a class="code" href="rs__types_8rsh.html#a6bc1fa1354fe2145b8f12b4bbfafcf4c">00305</a> typedef <span class="keywordtype">int</span> <a class="code" href="rs__types_8rsh.html#a6bc1fa1354fe2145b8f12b4bbfafcf4c">int2</a> __attribute__((ext_vector_type(2)));
-<a name="l00310"></a><a class="code" href="rs__types_8rsh.html#ad5512266b63fd06dcf450f6c9d5326c8">00310</a> typedef <span class="keywordtype">int</span> <a class="code" href="rs__types_8rsh.html#ad5512266b63fd06dcf450f6c9d5326c8">int3</a> __attribute__((ext_vector_type(3)));
-<a name="l00315"></a><a class="code" href="rs__types_8rsh.html#a897deab71f679999ed99d4153c797e70">00315</a> typedef <span class="keywordtype">int</span> <a class="code" href="rs__types_8rsh.html#a897deab71f679999ed99d4153c797e70">int4</a> __attribute__((ext_vector_type(4)));
-<a name="l00316"></a>00316
-<a name="l00321"></a><a class="code" href="rs__types_8rsh.html#afd55d62cee0785034b73375acd0df9da">00321</a> typedef <span class="keywordtype">long</span> <a class="code" href="rs__types_8rsh.html#afd55d62cee0785034b73375acd0df9da">long2</a> __attribute__((ext_vector_type(2)));
-<a name="l00326"></a><a class="code" href="rs__types_8rsh.html#ad9cedbf4050fad14138d1dcb3428ec18">00326</a> typedef <span class="keywordtype">long</span> <a class="code" href="rs__types_8rsh.html#ad9cedbf4050fad14138d1dcb3428ec18">long3</a> __attribute__((ext_vector_type(3)));
-<a name="l00331"></a><a class="code" href="rs__types_8rsh.html#ae177e4918f36e5c9da36d524cdb7a2e7">00331</a> typedef <span class="keywordtype">long</span> <a class="code" href="rs__types_8rsh.html#ae177e4918f36e5c9da36d524cdb7a2e7">long4</a> __attribute__((ext_vector_type(4)));
-<a name="l00332"></a>00332
-<a name="l00339"></a><a class="code" href="structrs__matrix4x4.html">00339</a> typedef struct {
-<a name="l00340"></a>00340 <span class="keywordtype">float</span> m[16];
-<a name="l00341"></a>00341 } <a class="code" href="structrs__matrix4x4.html" title="4x4 float matrix">rs_matrix4x4</a>;
-<a name="l00348"></a><a class="code" href="structrs__matrix3x3.html">00348</a> <span class="keyword">typedef</span> <span class="keyword">struct </span>{
-<a name="l00349"></a>00349 <span class="keywordtype">float</span> m[9];
-<a name="l00350"></a>00350 } <a class="code" href="structrs__matrix3x3.html" title="3x3 float matrix">rs_matrix3x3</a>;
-<a name="l00357"></a><a class="code" href="structrs__matrix2x2.html">00357</a> <span class="keyword">typedef</span> <span class="keyword">struct </span>{
-<a name="l00358"></a>00358 <span class="keywordtype">float</span> m[4];
-<a name="l00359"></a>00359 } <a class="code" href="structrs__matrix2x2.html" title="2x2 float matrix">rs_matrix2x2</a>;
-<a name="l00360"></a>00360
-<a name="l00364"></a><a class="code" href="rs__types_8rsh.html#a86f99f382dc35fc8ad98b524fe6d5447">00364</a> <span class="keyword">typedef</span> <a class="code" href="rs__types_8rsh.html#adb5162dc168ddd471d948faa60b37c5e">float4</a> <a class="code" href="rs__types_8rsh.html#a86f99f382dc35fc8ad98b524fe6d5447">rs_quaternion</a>;
-<a name="l00365"></a>00365
-<a name="l00366"></a>00366 <span class="preprocessor">#define RS_PACKED __attribute__((packed, aligned(4)))</span>
-<a name="l00367"></a>00367 <span class="preprocessor"></span><span class="preprocessor">#define NULL ((const void *)0)</span>
-<a name="l00368"></a>00368 <span class="preprocessor"></span>
-<a name="l00369"></a>00369 <span class="preprocessor">#if (defined(RS_VERSION) && (RS_VERSION >= 14))</span>
-<a name="l00370"></a>00370 <span class="preprocessor"></span>
-<a name="l00374"></a>00374 <span class="keyword">typedef</span> <span class="keyword">enum</span> {
-<a name="l00375"></a>00375 RS_ALLOCATION_CUBEMAP_FACE_POSITIVE_X = 0,
-<a name="l00376"></a>00376 RS_ALLOCATION_CUBEMAP_FACE_NEGATIVE_X = 1,
-<a name="l00377"></a>00377 RS_ALLOCATION_CUBEMAP_FACE_POSITIVE_Y = 2,
-<a name="l00378"></a>00378 RS_ALLOCATION_CUBEMAP_FACE_NEGATIVE_Y = 3,
-<a name="l00379"></a>00379 RS_ALLOCATION_CUBEMAP_FACE_POSITIVE_Z = 4,
-<a name="l00380"></a>00380 RS_ALLOCATION_CUBEMAP_FACE_NEGATIVE_Z = 5
-<a name="l00381"></a>00381 } rs_allocation_cubemap_face;
-<a name="l00382"></a>00382
-<a name="l00389"></a>00389 <span class="keyword">typedef</span> <span class="keyword">enum</span> {
-<a name="l00390"></a>00390 RS_ALLOCATION_USAGE_SCRIPT = 0x0001,
-<a name="l00391"></a>00391 RS_ALLOCATION_USAGE_GRAPHICS_TEXTURE = 0x0002,
-<a name="l00392"></a>00392 RS_ALLOCATION_USAGE_GRAPHICS_VERTEX = 0x0004,
-<a name="l00393"></a>00393 RS_ALLOCATION_USAGE_GRAPHICS_CONSTANTS = 0x0008,
-<a name="l00394"></a>00394 RS_ALLOCATION_USAGE_GRAPHICS_RENDER_TARGET = 0x0010
-<a name="l00395"></a>00395 } rs_allocation_usage_type;
-<a name="l00396"></a>00396
-<a name="l00397"></a>00397 <span class="preprocessor">#endif //defined(RS_VERSION) && (RS_VERSION >= 14)</span>
-<a name="l00398"></a>00398 <span class="preprocessor"></span>
-<a name="l00399"></a>00399 <span class="preprocessor">#endif</span>
+<a name="l00145"></a><a class="code" href="structrs__path.html">00145</a> typedef struct { <span class="keyword">const</span> <span class="keywordtype">int</span>* <span class="keyword">const</span> p; } __attribute__((packed, aligned(4))) <a class="code" href="structrs__path.html" title="Opaque handle to a Renderscript Path object.">rs_path</a>;
+<a name="l00151"></a><a class="code" href="structrs__program__fragment.html">00151</a> typedef struct { <span class="keyword">const</span> <span class="keywordtype">int</span>* <span class="keyword">const</span> p; } __attribute__((packed, aligned(4))) <a class="code" href="structrs__program__fragment.html" title="Opaque handle to a Renderscript ProgramFragment object.">rs_program_fragment</a>;
+<a name="l00157"></a><a class="code" href="structrs__program__vertex.html">00157</a> typedef struct { <span class="keyword">const</span> <span class="keywordtype">int</span>* <span class="keyword">const</span> p; } __attribute__((packed, aligned(4))) <a class="code" href="structrs__program__vertex.html" title="Opaque handle to a Renderscript ProgramVertex object.">rs_program_vertex</a>;
+<a name="l00163"></a><a class="code" href="structrs__program__raster.html">00163</a> typedef struct { <span class="keyword">const</span> <span class="keywordtype">int</span>* <span class="keyword">const</span> p; } __attribute__((packed, aligned(4))) <a class="code" href="structrs__program__raster.html" title="Opaque handle to a Renderscript ProgramRaster object.">rs_program_raster</a>;
+<a name="l00169"></a><a class="code" href="structrs__program__store.html">00169</a> typedef struct { <span class="keyword">const</span> <span class="keywordtype">int</span>* <span class="keyword">const</span> p; } __attribute__((packed, aligned(4))) <a class="code" href="structrs__program__store.html" title="Opaque handle to a Renderscript ProgramStore object.">rs_program_store</a>;
+<a name="l00175"></a><a class="code" href="structrs__font.html">00175</a> typedef struct { <span class="keyword">const</span> <span class="keywordtype">int</span>* <span class="keyword">const</span> p; } __attribute__((packed, aligned(4))) <a class="code" href="structrs__font.html" title="Opaque handle to a Renderscript font object.">rs_font</a>;
+<a name="l00176"></a>00176
+<a name="l00182"></a><a class="code" href="rs__types_8rsh.html#a5086d0fcb71f916c936af486ccf0dd41">00182</a> typedef <span class="keywordtype">float</span> <a class="code" href="rs__types_8rsh.html#a5086d0fcb71f916c936af486ccf0dd41">float2</a> __attribute__((ext_vector_type(2)));
+<a name="l00187"></a><a class="code" href="rs__types_8rsh.html#a0046fa0f208d0899adbcf1f8b5aafadd">00187</a> typedef <span class="keywordtype">float</span> <a class="code" href="rs__types_8rsh.html#a0046fa0f208d0899adbcf1f8b5aafadd">float3</a> __attribute__((ext_vector_type(3)));
+<a name="l00193"></a><a class="code" href="rs__types_8rsh.html#adb5162dc168ddd471d948faa60b37c5e">00193</a> typedef <span class="keywordtype">float</span> <a class="code" href="rs__types_8rsh.html#adb5162dc168ddd471d948faa60b37c5e">float4</a> __attribute__((ext_vector_type(4)));
+<a name="l00194"></a>00194
+<a name="l00199"></a><a class="code" href="rs__types_8rsh.html#a75ef868cedebc2a6eeb1bc6ca6ca49c3">00199</a> typedef <span class="keywordtype">double</span> <a class="code" href="rs__types_8rsh.html#a75ef868cedebc2a6eeb1bc6ca6ca49c3">double2</a> __attribute__((ext_vector_type(2)));
+<a name="l00204"></a><a class="code" href="rs__types_8rsh.html#aa3c90d5a23d674185a13e95402eda7eb">00204</a> typedef <span class="keywordtype">double</span> <a class="code" href="rs__types_8rsh.html#aa3c90d5a23d674185a13e95402eda7eb">double3</a> __attribute__((ext_vector_type(3)));
+<a name="l00209"></a><a class="code" href="rs__types_8rsh.html#a60f4b04e076f0dd0ecc99c365fc4ca21">00209</a> typedef <span class="keywordtype">double</span> <a class="code" href="rs__types_8rsh.html#a60f4b04e076f0dd0ecc99c365fc4ca21">double4</a> __attribute__((ext_vector_type(4)));
+<a name="l00210"></a>00210
+<a name="l00215"></a><a class="code" href="rs__types_8rsh.html#aff5eb7cd53a34bb01924bf64485296de">00215</a> typedef <a class="code" href="rs__types_8rsh.html#a27c902d5ca78afa82d5ed75554d5cedc">uchar</a> <a class="code" href="rs__types_8rsh.html#aff5eb7cd53a34bb01924bf64485296de">uchar2</a> __attribute__((ext_vector_type(2)));
+<a name="l00220"></a><a class="code" href="rs__types_8rsh.html#a247b5eacf2b662849668cbc33120343f">00220</a> typedef <a class="code" href="rs__types_8rsh.html#a27c902d5ca78afa82d5ed75554d5cedc">uchar</a> <a class="code" href="rs__types_8rsh.html#a247b5eacf2b662849668cbc33120343f">uchar3</a> __attribute__((ext_vector_type(3)));
+<a name="l00225"></a><a class="code" href="rs__types_8rsh.html#ae6ed52a87d4ff920c303b13b00f7396d">00225</a> typedef <a class="code" href="rs__types_8rsh.html#a27c902d5ca78afa82d5ed75554d5cedc">uchar</a> <a class="code" href="rs__types_8rsh.html#ae6ed52a87d4ff920c303b13b00f7396d">uchar4</a> __attribute__((ext_vector_type(4)));
+<a name="l00226"></a>00226
+<a name="l00231"></a><a class="code" href="rs__types_8rsh.html#a24a9d78cfc32475e2c6eb1cdec239bf2">00231</a> typedef <a class="code" href="rs__types_8rsh.html#a9e58a7bf060b7a5fbf6a401d3020adca">ushort</a> <a class="code" href="rs__types_8rsh.html#a24a9d78cfc32475e2c6eb1cdec239bf2">ushort2</a> __attribute__((ext_vector_type(2)));
+<a name="l00236"></a><a class="code" href="rs__types_8rsh.html#ab78391445785d2ca0276392a9c97fcba">00236</a> typedef <a class="code" href="rs__types_8rsh.html#a9e58a7bf060b7a5fbf6a401d3020adca">ushort</a> <a class="code" href="rs__types_8rsh.html#ab78391445785d2ca0276392a9c97fcba">ushort3</a> __attribute__((ext_vector_type(3)));
+<a name="l00241"></a><a class="code" href="rs__types_8rsh.html#a77a09fa01d7fc721bbc44c32aac2d487">00241</a> typedef <a class="code" href="rs__types_8rsh.html#a9e58a7bf060b7a5fbf6a401d3020adca">ushort</a> <a class="code" href="rs__types_8rsh.html#a77a09fa01d7fc721bbc44c32aac2d487">ushort4</a> __attribute__((ext_vector_type(4)));
+<a name="l00242"></a>00242
+<a name="l00247"></a><a class="code" href="rs__types_8rsh.html#aaf90cd1f01a121e824fc6e1b927e7683">00247</a> typedef <a class="code" href="rs__types_8rsh.html#a4f5fce8c1ef282264f9214809524d836">uint</a> <a class="code" href="rs__types_8rsh.html#aaf90cd1f01a121e824fc6e1b927e7683">uint2</a> __attribute__((ext_vector_type(2)));
+<a name="l00252"></a><a class="code" href="rs__types_8rsh.html#ae80e36ac834c891aa76b09a220344e78">00252</a> typedef <a class="code" href="rs__types_8rsh.html#a4f5fce8c1ef282264f9214809524d836">uint</a> <a class="code" href="rs__types_8rsh.html#ae80e36ac834c891aa76b09a220344e78">uint3</a> __attribute__((ext_vector_type(3)));
+<a name="l00257"></a><a class="code" href="rs__types_8rsh.html#ad92f0ec6c2cdc1f11a6d7fe321047462">00257</a> typedef <a class="code" href="rs__types_8rsh.html#a4f5fce8c1ef282264f9214809524d836">uint</a> <a class="code" href="rs__types_8rsh.html#ad92f0ec6c2cdc1f11a6d7fe321047462">uint4</a> __attribute__((ext_vector_type(4)));
+<a name="l00258"></a>00258
+<a name="l00263"></a><a class="code" href="rs__types_8rsh.html#a56988b12ab16acf753356f7a5c70565a">00263</a> typedef <a class="code" href="rs__types_8rsh.html#ab46637ef82283186e57f54756fe67203">ulong</a> <a class="code" href="rs__types_8rsh.html#a56988b12ab16acf753356f7a5c70565a">ulong2</a> __attribute__((ext_vector_type(2)));
+<a name="l00268"></a><a class="code" href="rs__types_8rsh.html#ac623a569c28935fbedd3a8ed27ae0696">00268</a> typedef <a class="code" href="rs__types_8rsh.html#ab46637ef82283186e57f54756fe67203">ulong</a> <a class="code" href="rs__types_8rsh.html#ac623a569c28935fbedd3a8ed27ae0696">ulong3</a> __attribute__((ext_vector_type(3)));
+<a name="l00273"></a><a class="code" href="rs__types_8rsh.html#a3029c54b8e1779a1ddbdfe875432d137">00273</a> typedef <a class="code" href="rs__types_8rsh.html#ab46637ef82283186e57f54756fe67203">ulong</a> <a class="code" href="rs__types_8rsh.html#a3029c54b8e1779a1ddbdfe875432d137">ulong4</a> __attribute__((ext_vector_type(4)));
+<a name="l00274"></a>00274
+<a name="l00279"></a><a class="code" href="rs__types_8rsh.html#ac532b4c1895c8bd4fb75dc370c484351">00279</a> typedef <span class="keywordtype">char</span> <a class="code" href="rs__types_8rsh.html#ac532b4c1895c8bd4fb75dc370c484351">char2</a> __attribute__((ext_vector_type(2)));
+<a name="l00284"></a><a class="code" href="rs__types_8rsh.html#a4617fb31f4c03402515efee0a9b56210">00284</a> typedef <span class="keywordtype">char</span> <a class="code" href="rs__types_8rsh.html#a4617fb31f4c03402515efee0a9b56210">char3</a> __attribute__((ext_vector_type(3)));
+<a name="l00289"></a><a class="code" href="rs__types_8rsh.html#aecb498648daac97c7cc5f31c242dfa03">00289</a> typedef <span class="keywordtype">char</span> <a class="code" href="rs__types_8rsh.html#aecb498648daac97c7cc5f31c242dfa03">char4</a> __attribute__((ext_vector_type(4)));
+<a name="l00290"></a>00290
+<a name="l00295"></a><a class="code" href="rs__types_8rsh.html#a303d3ad18aaeacfcfeda2b8580b98796">00295</a> typedef <span class="keywordtype">short</span> <a class="code" href="rs__types_8rsh.html#a303d3ad18aaeacfcfeda2b8580b98796">short2</a> __attribute__((ext_vector_type(2)));
+<a name="l00300"></a><a class="code" href="rs__types_8rsh.html#a3f4967691ae2b249511b5f3dd9e18793">00300</a> typedef <span class="keywordtype">short</span> <a class="code" href="rs__types_8rsh.html#a3f4967691ae2b249511b5f3dd9e18793">short3</a> __attribute__((ext_vector_type(3)));
+<a name="l00305"></a><a class="code" href="rs__types_8rsh.html#a198219da0b1d51c8d7f8f12aad7e502d">00305</a> typedef <span class="keywordtype">short</span> <a class="code" href="rs__types_8rsh.html#a198219da0b1d51c8d7f8f12aad7e502d">short4</a> __attribute__((ext_vector_type(4)));
+<a name="l00306"></a>00306
+<a name="l00311"></a><a class="code" href="rs__types_8rsh.html#a6bc1fa1354fe2145b8f12b4bbfafcf4c">00311</a> typedef <span class="keywordtype">int</span> <a class="code" href="rs__types_8rsh.html#a6bc1fa1354fe2145b8f12b4bbfafcf4c">int2</a> __attribute__((ext_vector_type(2)));
+<a name="l00316"></a><a class="code" href="rs__types_8rsh.html#ad5512266b63fd06dcf450f6c9d5326c8">00316</a> typedef <span class="keywordtype">int</span> <a class="code" href="rs__types_8rsh.html#ad5512266b63fd06dcf450f6c9d5326c8">int3</a> __attribute__((ext_vector_type(3)));
+<a name="l00321"></a><a class="code" href="rs__types_8rsh.html#a897deab71f679999ed99d4153c797e70">00321</a> typedef <span class="keywordtype">int</span> <a class="code" href="rs__types_8rsh.html#a897deab71f679999ed99d4153c797e70">int4</a> __attribute__((ext_vector_type(4)));
+<a name="l00322"></a>00322
+<a name="l00327"></a><a class="code" href="rs__types_8rsh.html#afd55d62cee0785034b73375acd0df9da">00327</a> typedef <span class="keywordtype">long</span> <a class="code" href="rs__types_8rsh.html#afd55d62cee0785034b73375acd0df9da">long2</a> __attribute__((ext_vector_type(2)));
+<a name="l00332"></a><a class="code" href="rs__types_8rsh.html#ad9cedbf4050fad14138d1dcb3428ec18">00332</a> typedef <span class="keywordtype">long</span> <a class="code" href="rs__types_8rsh.html#ad9cedbf4050fad14138d1dcb3428ec18">long3</a> __attribute__((ext_vector_type(3)));
+<a name="l00337"></a><a class="code" href="rs__types_8rsh.html#ae177e4918f36e5c9da36d524cdb7a2e7">00337</a> typedef <span class="keywordtype">long</span> <a class="code" href="rs__types_8rsh.html#ae177e4918f36e5c9da36d524cdb7a2e7">long4</a> __attribute__((ext_vector_type(4)));
+<a name="l00338"></a>00338
+<a name="l00345"></a><a class="code" href="structrs__matrix4x4.html">00345</a> typedef struct {
+<a name="l00346"></a>00346 <span class="keywordtype">float</span> m[16];
+<a name="l00347"></a>00347 } <a class="code" href="structrs__matrix4x4.html" title="4x4 float matrix">rs_matrix4x4</a>;
+<a name="l00354"></a><a class="code" href="structrs__matrix3x3.html">00354</a> <span class="keyword">typedef</span> <span class="keyword">struct </span>{
+<a name="l00355"></a>00355 <span class="keywordtype">float</span> m[9];
+<a name="l00356"></a>00356 } <a class="code" href="structrs__matrix3x3.html" title="3x3 float matrix">rs_matrix3x3</a>;
+<a name="l00363"></a><a class="code" href="structrs__matrix2x2.html">00363</a> <span class="keyword">typedef</span> <span class="keyword">struct </span>{
+<a name="l00364"></a>00364 <span class="keywordtype">float</span> m[4];
+<a name="l00365"></a>00365 } <a class="code" href="structrs__matrix2x2.html" title="2x2 float matrix">rs_matrix2x2</a>;
+<a name="l00366"></a>00366
+<a name="l00370"></a><a class="code" href="rs__types_8rsh.html#a86f99f382dc35fc8ad98b524fe6d5447">00370</a> <span class="keyword">typedef</span> <a class="code" href="rs__types_8rsh.html#adb5162dc168ddd471d948faa60b37c5e">float4</a> <a class="code" href="rs__types_8rsh.html#a86f99f382dc35fc8ad98b524fe6d5447">rs_quaternion</a>;
+<a name="l00371"></a>00371
+<a name="l00372"></a>00372 <span class="preprocessor">#define RS_PACKED __attribute__((packed, aligned(4)))</span>
+<a name="l00373"></a>00373 <span class="preprocessor"></span><span class="preprocessor">#define NULL ((void *)0)</span>
+<a name="l00374"></a>00374 <span class="preprocessor"></span>
+<a name="l00375"></a>00375 <span class="preprocessor">#if (defined(RS_VERSION) && (RS_VERSION >= 14))</span>
+<a name="l00376"></a>00376 <span class="preprocessor"></span>
+<a name="l00380"></a>00380 <span class="keyword">typedef</span> <span class="keyword">enum</span> {
+<a name="l00381"></a>00381 RS_ALLOCATION_CUBEMAP_FACE_POSITIVE_X = 0,
+<a name="l00382"></a>00382 RS_ALLOCATION_CUBEMAP_FACE_NEGATIVE_X = 1,
+<a name="l00383"></a>00383 RS_ALLOCATION_CUBEMAP_FACE_POSITIVE_Y = 2,
+<a name="l00384"></a>00384 RS_ALLOCATION_CUBEMAP_FACE_NEGATIVE_Y = 3,
+<a name="l00385"></a>00385 RS_ALLOCATION_CUBEMAP_FACE_POSITIVE_Z = 4,
+<a name="l00386"></a>00386 RS_ALLOCATION_CUBEMAP_FACE_NEGATIVE_Z = 5
+<a name="l00387"></a>00387 } rs_allocation_cubemap_face;
+<a name="l00388"></a>00388
+<a name="l00395"></a>00395 <span class="keyword">typedef</span> <span class="keyword">enum</span> {
+<a name="l00396"></a>00396 RS_ALLOCATION_USAGE_SCRIPT = 0x0001,
+<a name="l00397"></a>00397 RS_ALLOCATION_USAGE_GRAPHICS_TEXTURE = 0x0002,
+<a name="l00398"></a>00398 RS_ALLOCATION_USAGE_GRAPHICS_VERTEX = 0x0004,
+<a name="l00399"></a>00399 RS_ALLOCATION_USAGE_GRAPHICS_CONSTANTS = 0x0008,
+<a name="l00400"></a>00400 RS_ALLOCATION_USAGE_GRAPHICS_RENDER_TARGET = 0x0010
+<a name="l00401"></a>00401 } rs_allocation_usage_type;
+<a name="l00402"></a>00402
+<a name="l00403"></a>00403 <span class="preprocessor">#endif //defined(RS_VERSION) && (RS_VERSION >= 14)</span>
+<a name="l00404"></a>00404 <span class="preprocessor"></span>
+<a name="l00405"></a>00405 <span class="comment">// New API's</span>
+<a name="l00406"></a>00406 <span class="preprocessor">#if (defined(RS_VERSION) && (RS_VERSION >= 16))</span>
+<a name="l00407"></a>00407 <span class="preprocessor"></span>
+<a name="l00412"></a>00412 <span class="keyword">typedef</span> <span class="keyword">enum</span> {
+<a name="l00416"></a>00416 RS_PRIMITIVE_POINT = 0,
+<a name="l00420"></a>00420 RS_PRIMITIVE_LINE = 1,
+<a name="l00424"></a>00424 RS_PRIMITIVE_LINE_STRIP = 2,
+<a name="l00428"></a>00428 RS_PRIMITIVE_TRIANGLE = 3,
+<a name="l00434"></a>00434 RS_PRIMITIVE_TRIANGLE_STRIP = 4,
+<a name="l00439"></a>00439 RS_PRIMITIVE_TRIANGLE_FAN = 5,
+<a name="l00440"></a>00440
+<a name="l00444"></a>00444 RS_PRIMITIVE_INVALID = 100,
+<a name="l00445"></a>00445 } rs_primitive;
+<a name="l00446"></a>00446
+<a name="l00465"></a>00465 <span class="keyword">typedef</span> <span class="keyword">enum</span> {
+<a name="l00466"></a>00466 RS_TYPE_NONE = 0,
+<a name="l00467"></a>00467 RS_TYPE_FLOAT_32 = 2,
+<a name="l00468"></a>00468 RS_TYPE_FLOAT_64 = 3,
+<a name="l00469"></a>00469 RS_TYPE_SIGNED_8 = 4,
+<a name="l00470"></a>00470 RS_TYPE_SIGNED_16 = 5,
+<a name="l00471"></a>00471 RS_TYPE_SIGNED_32 = 6,
+<a name="l00472"></a>00472 RS_TYPE_SIGNED_64 = 7,
+<a name="l00473"></a>00473 RS_TYPE_UNSIGNED_8 = 8,
+<a name="l00474"></a>00474 RS_TYPE_UNSIGNED_16 = 9,
+<a name="l00475"></a>00475 RS_TYPE_UNSIGNED_32 = 10,
+<a name="l00476"></a>00476 RS_TYPE_UNSIGNED_64 = 11,
+<a name="l00477"></a>00477
+<a name="l00478"></a>00478 RS_TYPE_BOOLEAN = 12,
+<a name="l00479"></a>00479
+<a name="l00480"></a>00480 RS_TYPE_UNSIGNED_5_6_5 = 13,
+<a name="l00481"></a>00481 RS_TYPE_UNSIGNED_5_5_5_1 = 14,
+<a name="l00482"></a>00482 RS_TYPE_UNSIGNED_4_4_4_4 = 15,
+<a name="l00483"></a>00483
+<a name="l00484"></a>00484 RS_TYPE_MATRIX_4X4 = 16,
+<a name="l00485"></a>00485 RS_TYPE_MATRIX_3X3 = 17,
+<a name="l00486"></a>00486 RS_TYPE_MATRIX_2X2 = 18,
+<a name="l00487"></a>00487
+<a name="l00488"></a>00488 RS_TYPE_ELEMENT = 1000,
+<a name="l00489"></a>00489 RS_TYPE_TYPE = 1001,
+<a name="l00490"></a>00490 RS_TYPE_ALLOCATION = 1002,
+<a name="l00491"></a>00491 RS_TYPE_SAMPLER = 1003,
+<a name="l00492"></a>00492 RS_TYPE_SCRIPT = 1004,
+<a name="l00493"></a>00493 RS_TYPE_MESH = 1005,
+<a name="l00494"></a>00494 RS_TYPE_PROGRAM_FRAGMENT = 1006,
+<a name="l00495"></a>00495 RS_TYPE_PROGRAM_VERTEX = 1007,
+<a name="l00496"></a>00496 RS_TYPE_PROGRAM_RASTER = 1008,
+<a name="l00497"></a>00497 RS_TYPE_PROGRAM_STORE = 1009,
+<a name="l00498"></a>00498 RS_TYPE_FONT = 1010,
+<a name="l00499"></a>00499
+<a name="l00500"></a>00500 RS_TYPE_INVALID = 10000,
+<a name="l00501"></a>00501 } rs_data_type;
+<a name="l00502"></a>00502
+<a name="l00511"></a>00511 <span class="keyword">typedef</span> <span class="keyword">enum</span> {
+<a name="l00512"></a>00512 RS_KIND_USER = 0,
+<a name="l00513"></a>00513
+<a name="l00514"></a>00514 RS_KIND_PIXEL_L = 7,
+<a name="l00515"></a>00515 RS_KIND_PIXEL_A = 8,
+<a name="l00516"></a>00516 RS_KIND_PIXEL_LA = 9,
+<a name="l00517"></a>00517 RS_KIND_PIXEL_RGB = 10,
+<a name="l00518"></a>00518 RS_KIND_PIXEL_RGBA = 11,
+<a name="l00519"></a>00519 RS_KIND_PIXEL_DEPTH = 12,
+<a name="l00520"></a>00520
+<a name="l00521"></a>00521 RS_KIND_INVALID = 100,
+<a name="l00522"></a>00522 } rs_data_kind;
+<a name="l00523"></a>00523
+<a name="l00524"></a>00524 <span class="keyword">typedef</span> <span class="keyword">enum</span> {
+<a name="l00528"></a>00528 RS_DEPTH_FUNC_ALWAYS = 0,
+<a name="l00533"></a>00533 RS_DEPTH_FUNC_LESS = 1,
+<a name="l00538"></a>00538 RS_DEPTH_FUNC_LEQUAL = 2,
+<a name="l00543"></a>00543 RS_DEPTH_FUNC_GREATER = 3,
+<a name="l00548"></a>00548 RS_DEPTH_FUNC_GEQUAL = 4,
+<a name="l00553"></a>00553 RS_DEPTH_FUNC_EQUAL = 5,
+<a name="l00558"></a>00558 RS_DEPTH_FUNC_NOTEQUAL = 6,
+<a name="l00562"></a>00562 RS_DEPTH_FUNC_INVALID = 100,
+<a name="l00563"></a>00563 } rs_depth_func;
+<a name="l00564"></a>00564
+<a name="l00565"></a>00565 <span class="keyword">typedef</span> <span class="keyword">enum</span> {
+<a name="l00566"></a>00566 RS_BLEND_SRC_ZERO = 0,
+<a name="l00567"></a>00567 RS_BLEND_SRC_ONE = 1,
+<a name="l00568"></a>00568 RS_BLEND_SRC_DST_COLOR = 2,
+<a name="l00569"></a>00569 RS_BLEND_SRC_ONE_MINUS_DST_COLOR = 3,
+<a name="l00570"></a>00570 RS_BLEND_SRC_SRC_ALPHA = 4,
+<a name="l00571"></a>00571 RS_BLEND_SRC_ONE_MINUS_SRC_ALPHA = 5,
+<a name="l00572"></a>00572 RS_BLEND_SRC_DST_ALPHA = 6,
+<a name="l00573"></a>00573 RS_BLEND_SRC_ONE_MINUS_DST_ALPHA = 7,
+<a name="l00574"></a>00574 RS_BLEND_SRC_SRC_ALPHA_SATURATE = 8,
+<a name="l00575"></a>00575
+<a name="l00576"></a>00576 RS_BLEND_SRC_INVALID = 100,
+<a name="l00577"></a>00577 } rs_blend_src_func;
+<a name="l00578"></a>00578
+<a name="l00579"></a>00579 <span class="keyword">typedef</span> <span class="keyword">enum</span> {
+<a name="l00580"></a>00580 RS_BLEND_DST_ZERO = 0,
+<a name="l00581"></a>00581 RS_BLEND_DST_ONE = 1,
+<a name="l00582"></a>00582 RS_BLEND_DST_SRC_COLOR = 2,
+<a name="l00583"></a>00583 RS_BLEND_DST_ONE_MINUS_SRC_COLOR = 3,
+<a name="l00584"></a>00584 RS_BLEND_DST_SRC_ALPHA = 4,
+<a name="l00585"></a>00585 RS_BLEND_DST_ONE_MINUS_SRC_ALPHA = 5,
+<a name="l00586"></a>00586 RS_BLEND_DST_DST_ALPHA = 6,
+<a name="l00587"></a>00587 RS_BLEND_DST_ONE_MINUS_DST_ALPHA = 7,
+<a name="l00588"></a>00588
+<a name="l00589"></a>00589 RS_BLEND_DST_INVALID = 100,
+<a name="l00590"></a>00590 } rs_blend_dst_func;
+<a name="l00591"></a>00591
+<a name="l00592"></a>00592 <span class="keyword">typedef</span> <span class="keyword">enum</span> {
+<a name="l00593"></a>00593 RS_CULL_BACK = 0,
+<a name="l00594"></a>00594 RS_CULL_FRONT = 1,
+<a name="l00595"></a>00595 RS_CULL_NONE = 2,
+<a name="l00596"></a>00596
+<a name="l00597"></a>00597 RS_CULL_INVALID = 100,
+<a name="l00598"></a>00598 } rs_cull_mode;
+<a name="l00599"></a>00599
+<a name="l00600"></a>00600 <span class="keyword">typedef</span> <span class="keyword">enum</span> {
+<a name="l00601"></a>00601 RS_SAMPLER_NEAREST = 0,
+<a name="l00602"></a>00602 RS_SAMPLER_LINEAR = 1,
+<a name="l00603"></a>00603 RS_SAMPLER_LINEAR_MIP_LINEAR = 2,
+<a name="l00604"></a>00604 RS_SAMPLER_WRAP = 3,
+<a name="l00605"></a>00605 RS_SAMPLER_CLAMP = 4,
+<a name="l00606"></a>00606 RS_SAMPLER_LINEAR_MIP_NEAREST = 5,
+<a name="l00607"></a>00607
+<a name="l00608"></a>00608 RS_SAMPLER_INVALID = 100,
+<a name="l00609"></a>00609 } rs_sampler_value;
+<a name="l00610"></a>00610
+<a name="l00611"></a>00611 <span class="preprocessor">#endif // (defined(RS_VERSION) && (RS_VERSION >= 16))</span>
+<a name="l00612"></a>00612 <span class="preprocessor"></span>
+<a name="l00613"></a>00613 <span class="preprocessor">#endif // __RS_TYPES_RSH__</span>
</pre></div></div>
</div>
diff --git a/docs/html/reference/renderscript/structrs__allocation.html b/docs/html/reference/renderscript/structrs__allocation.html
index b166fdd..ba6d973 100644
--- a/docs/html/reference/renderscript/structrs__allocation.html
+++ b/docs/html/reference/renderscript/structrs__allocation.html
@@ -37,7 +37,7 @@
<p>Definition at line <a class="el" href="rs__types_8rsh_source.html#l00121">121</a> of file <a class="el" href="rs__types_8rsh_source.html">rs_types.rsh</a>.</p>
</div><hr/>The documentation for this struct was generated from the following file:<ul>
-<li>/src/ics-mr1/frameworks/base/libs/rs/scriptc/<a class="el" href="rs__types_8rsh_source.html">rs_types.rsh</a></li>
+<li><a class="el" href="rs__types_8rsh_source.html">rs_types.rsh</a></li>
</ul>
</div>
diff --git a/docs/html/reference/renderscript/structrs__element.html b/docs/html/reference/renderscript/structrs__element.html
index 79cd090..e380378 100644
--- a/docs/html/reference/renderscript/structrs__element.html
+++ b/docs/html/reference/renderscript/structrs__element.html
@@ -37,7 +37,7 @@
<p>Definition at line <a class="el" href="rs__types_8rsh_source.html#l00109">109</a> of file <a class="el" href="rs__types_8rsh_source.html">rs_types.rsh</a>.</p>
</div><hr/>The documentation for this struct was generated from the following file:<ul>
-<li>/src/ics-mr1/frameworks/base/libs/rs/scriptc/<a class="el" href="rs__types_8rsh_source.html">rs_types.rsh</a></li>
+<li><a class="el" href="rs__types_8rsh_source.html">rs_types.rsh</a></li>
</ul>
</div>
diff --git a/docs/html/reference/renderscript/structrs__font.html b/docs/html/reference/renderscript/structrs__font.html
index 83eb649..4d5cd9e 100644
--- a/docs/html/reference/renderscript/structrs__font.html
+++ b/docs/html/reference/renderscript/structrs__font.html
@@ -35,9 +35,9 @@
<div class="textblock"><p>Opaque handle to a Renderscript font object. </p>
<p>See: android.renderscript.Font </p>
-<p>Definition at line <a class="el" href="rs__types_8rsh_source.html#l00169">169</a> of file <a class="el" href="rs__types_8rsh_source.html">rs_types.rsh</a>.</p>
+<p>Definition at line <a class="el" href="rs__types_8rsh_source.html#l00175">175</a> of file <a class="el" href="rs__types_8rsh_source.html">rs_types.rsh</a>.</p>
</div><hr/>The documentation for this struct was generated from the following file:<ul>
-<li>/src/ics-mr1/frameworks/base/libs/rs/scriptc/<a class="el" href="rs__types_8rsh_source.html">rs_types.rsh</a></li>
+<li><a class="el" href="rs__types_8rsh_source.html">rs_types.rsh</a></li>
</ul>
</div>
diff --git a/docs/html/reference/renderscript/structrs__matrix2x2.html b/docs/html/reference/renderscript/structrs__matrix2x2.html
index 8789066d..5d08900 100644
--- a/docs/html/reference/renderscript/structrs__matrix2x2.html
+++ b/docs/html/reference/renderscript/structrs__matrix2x2.html
@@ -35,9 +35,9 @@
<div class="textblock"><p>2x2 float matrix </p>
<p>Native holder for RS matrix. Elements are stored in the array at the location [row*2 + col] </p>
-<p>Definition at line <a class="el" href="rs__types_8rsh_source.html#l00357">357</a> of file <a class="el" href="rs__types_8rsh_source.html">rs_types.rsh</a>.</p>
+<p>Definition at line <a class="el" href="rs__types_8rsh_source.html#l00363">363</a> of file <a class="el" href="rs__types_8rsh_source.html">rs_types.rsh</a>.</p>
</div><hr/>The documentation for this struct was generated from the following file:<ul>
-<li>/src/ics-mr1/frameworks/base/libs/rs/scriptc/<a class="el" href="rs__types_8rsh_source.html">rs_types.rsh</a></li>
+<li><a class="el" href="rs__types_8rsh_source.html">rs_types.rsh</a></li>
</ul>
</div>
diff --git a/docs/html/reference/renderscript/structrs__matrix3x3.html b/docs/html/reference/renderscript/structrs__matrix3x3.html
index 2b036df..f63ffe8 100644
--- a/docs/html/reference/renderscript/structrs__matrix3x3.html
+++ b/docs/html/reference/renderscript/structrs__matrix3x3.html
@@ -35,9 +35,9 @@
<div class="textblock"><p>3x3 float matrix </p>
<p>Native holder for RS matrix. Elements are stored in the array at the location [row*3 + col] </p>
-<p>Definition at line <a class="el" href="rs__types_8rsh_source.html#l00348">348</a> of file <a class="el" href="rs__types_8rsh_source.html">rs_types.rsh</a>.</p>
+<p>Definition at line <a class="el" href="rs__types_8rsh_source.html#l00354">354</a> of file <a class="el" href="rs__types_8rsh_source.html">rs_types.rsh</a>.</p>
</div><hr/>The documentation for this struct was generated from the following file:<ul>
-<li>/src/ics-mr1/frameworks/base/libs/rs/scriptc/<a class="el" href="rs__types_8rsh_source.html">rs_types.rsh</a></li>
+<li><a class="el" href="rs__types_8rsh_source.html">rs_types.rsh</a></li>
</ul>
</div>
diff --git a/docs/html/reference/renderscript/structrs__matrix4x4.html b/docs/html/reference/renderscript/structrs__matrix4x4.html
index c696108..1a10edf 100644
--- a/docs/html/reference/renderscript/structrs__matrix4x4.html
+++ b/docs/html/reference/renderscript/structrs__matrix4x4.html
@@ -35,9 +35,9 @@
<div class="textblock"><p>4x4 float matrix </p>
<p>Native holder for RS matrix. Elements are stored in the array at the location [row*4 + col] </p>
-<p>Definition at line <a class="el" href="rs__types_8rsh_source.html#l00339">339</a> of file <a class="el" href="rs__types_8rsh_source.html">rs_types.rsh</a>.</p>
+<p>Definition at line <a class="el" href="rs__types_8rsh_source.html#l00345">345</a> of file <a class="el" href="rs__types_8rsh_source.html">rs_types.rsh</a>.</p>
</div><hr/>The documentation for this struct was generated from the following file:<ul>
-<li>/src/ics-mr1/frameworks/base/libs/rs/scriptc/<a class="el" href="rs__types_8rsh_source.html">rs_types.rsh</a></li>
+<li><a class="el" href="rs__types_8rsh_source.html">rs_types.rsh</a></li>
</ul>
</div>
diff --git a/docs/html/reference/renderscript/structrs__mesh.html b/docs/html/reference/renderscript/structrs__mesh.html
index 6f58a54..2a49a6a 100644
--- a/docs/html/reference/renderscript/structrs__mesh.html
+++ b/docs/html/reference/renderscript/structrs__mesh.html
@@ -37,7 +37,7 @@
<p>Definition at line <a class="el" href="rs__types_8rsh_source.html#l00139">139</a> of file <a class="el" href="rs__types_8rsh_source.html">rs_types.rsh</a>.</p>
</div><hr/>The documentation for this struct was generated from the following file:<ul>
-<li>/src/ics-mr1/frameworks/base/libs/rs/scriptc/<a class="el" href="rs__types_8rsh_source.html">rs_types.rsh</a></li>
+<li><a class="el" href="rs__types_8rsh_source.html">rs_types.rsh</a></li>
</ul>
</div>
diff --git a/docs/html/reference/renderscript/structrs__path.html b/docs/html/reference/renderscript/structrs__path.html
new file mode 100644
index 0000000..2ec823d
--- /dev/null
+++ b/docs/html/reference/renderscript/structrs__path.html
@@ -0,0 +1,45 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+
+<title>rs_path Struct Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+
+
+
+</head>
+<body>
+<div id="top"><!-- do not remove this div! -->
+
+
+<!-- Generated by Doxygen 1.7.5.1 -->
+ <div id="navrow1" class="tabs">
+ <ul class="tablist">
+ <li><a href="index.html"><span>Overview</span></a></li>
+ <li><a href="globals.html"><span>Globals</span></a></li>
+ <li class="current"><a href="annotated.html"><span>Structs</span></a></li>
+ </ul>
+ </div>
+</div>
+<div class="header">
+ <div class="headertitle">
+<div class="title">rs_path Struct Reference</div> </div>
+</div>
+<div class="contents">
+<!-- doxytag: class="rs_path" -->
+<p>Opaque handle to a Renderscript Path object.
+ <a href="structrs__path.html#details">More...</a></p>
+<hr/><a name="details" id="details"></a><h2>Detailed Description</h2>
+<div class="textblock"><p>Opaque handle to a Renderscript Path object. </p>
+<p>See: android.renderscript.Path </p>
+
+<p>Definition at line <a class="el" href="rs__types_8rsh_source.html#l00145">145</a> of file <a class="el" href="rs__types_8rsh_source.html">rs_types.rsh</a>.</p>
+</div><hr/>The documentation for this struct was generated from the following file:<ul>
+<li><a class="el" href="rs__types_8rsh_source.html">rs_types.rsh</a></li>
+</ul>
+</div>
+
+</body>
+</html>
diff --git a/docs/html/reference/renderscript/structrs__program__fragment.html b/docs/html/reference/renderscript/structrs__program__fragment.html
index ed8eae7..8c9a241 100644
--- a/docs/html/reference/renderscript/structrs__program__fragment.html
+++ b/docs/html/reference/renderscript/structrs__program__fragment.html
@@ -35,9 +35,9 @@
<div class="textblock"><p>Opaque handle to a Renderscript ProgramFragment object. </p>
<p>See: android.renderscript.ProgramFragment </p>
-<p>Definition at line <a class="el" href="rs__types_8rsh_source.html#l00145">145</a> of file <a class="el" href="rs__types_8rsh_source.html">rs_types.rsh</a>.</p>
+<p>Definition at line <a class="el" href="rs__types_8rsh_source.html#l00151">151</a> of file <a class="el" href="rs__types_8rsh_source.html">rs_types.rsh</a>.</p>
</div><hr/>The documentation for this struct was generated from the following file:<ul>
-<li>/src/ics-mr1/frameworks/base/libs/rs/scriptc/<a class="el" href="rs__types_8rsh_source.html">rs_types.rsh</a></li>
+<li><a class="el" href="rs__types_8rsh_source.html">rs_types.rsh</a></li>
</ul>
</div>
diff --git a/docs/html/reference/renderscript/structrs__program__raster.html b/docs/html/reference/renderscript/structrs__program__raster.html
index a914854..201825b 100644
--- a/docs/html/reference/renderscript/structrs__program__raster.html
+++ b/docs/html/reference/renderscript/structrs__program__raster.html
@@ -35,9 +35,9 @@
<div class="textblock"><p>Opaque handle to a Renderscript ProgramRaster object. </p>
<p>See: android.renderscript.ProgramRaster </p>
-<p>Definition at line <a class="el" href="rs__types_8rsh_source.html#l00157">157</a> of file <a class="el" href="rs__types_8rsh_source.html">rs_types.rsh</a>.</p>
+<p>Definition at line <a class="el" href="rs__types_8rsh_source.html#l00163">163</a> of file <a class="el" href="rs__types_8rsh_source.html">rs_types.rsh</a>.</p>
</div><hr/>The documentation for this struct was generated from the following file:<ul>
-<li>/src/ics-mr1/frameworks/base/libs/rs/scriptc/<a class="el" href="rs__types_8rsh_source.html">rs_types.rsh</a></li>
+<li><a class="el" href="rs__types_8rsh_source.html">rs_types.rsh</a></li>
</ul>
</div>
diff --git a/docs/html/reference/renderscript/structrs__program__store.html b/docs/html/reference/renderscript/structrs__program__store.html
index 6ecfece..800d29b 100644
--- a/docs/html/reference/renderscript/structrs__program__store.html
+++ b/docs/html/reference/renderscript/structrs__program__store.html
@@ -35,9 +35,9 @@
<div class="textblock"><p>Opaque handle to a Renderscript ProgramStore object. </p>
<p>See: android.renderscript.ProgramStore </p>
-<p>Definition at line <a class="el" href="rs__types_8rsh_source.html#l00163">163</a> of file <a class="el" href="rs__types_8rsh_source.html">rs_types.rsh</a>.</p>
+<p>Definition at line <a class="el" href="rs__types_8rsh_source.html#l00169">169</a> of file <a class="el" href="rs__types_8rsh_source.html">rs_types.rsh</a>.</p>
</div><hr/>The documentation for this struct was generated from the following file:<ul>
-<li>/src/ics-mr1/frameworks/base/libs/rs/scriptc/<a class="el" href="rs__types_8rsh_source.html">rs_types.rsh</a></li>
+<li><a class="el" href="rs__types_8rsh_source.html">rs_types.rsh</a></li>
</ul>
</div>
diff --git a/docs/html/reference/renderscript/structrs__program__vertex.html b/docs/html/reference/renderscript/structrs__program__vertex.html
index 2b145a3..9f425fe 100644
--- a/docs/html/reference/renderscript/structrs__program__vertex.html
+++ b/docs/html/reference/renderscript/structrs__program__vertex.html
@@ -35,9 +35,9 @@
<div class="textblock"><p>Opaque handle to a Renderscript ProgramVertex object. </p>
<p>See: android.renderscript.ProgramVertex </p>
-<p>Definition at line <a class="el" href="rs__types_8rsh_source.html#l00151">151</a> of file <a class="el" href="rs__types_8rsh_source.html">rs_types.rsh</a>.</p>
+<p>Definition at line <a class="el" href="rs__types_8rsh_source.html#l00157">157</a> of file <a class="el" href="rs__types_8rsh_source.html">rs_types.rsh</a>.</p>
</div><hr/>The documentation for this struct was generated from the following file:<ul>
-<li>/src/ics-mr1/frameworks/base/libs/rs/scriptc/<a class="el" href="rs__types_8rsh_source.html">rs_types.rsh</a></li>
+<li><a class="el" href="rs__types_8rsh_source.html">rs_types.rsh</a></li>
</ul>
</div>
diff --git a/docs/html/reference/renderscript/structrs__sampler.html b/docs/html/reference/renderscript/structrs__sampler.html
index 58ea0de..9f48abc 100644
--- a/docs/html/reference/renderscript/structrs__sampler.html
+++ b/docs/html/reference/renderscript/structrs__sampler.html
@@ -37,7 +37,7 @@
<p>Definition at line <a class="el" href="rs__types_8rsh_source.html#l00127">127</a> of file <a class="el" href="rs__types_8rsh_source.html">rs_types.rsh</a>.</p>
</div><hr/>The documentation for this struct was generated from the following file:<ul>
-<li>/src/ics-mr1/frameworks/base/libs/rs/scriptc/<a class="el" href="rs__types_8rsh_source.html">rs_types.rsh</a></li>
+<li><a class="el" href="rs__types_8rsh_source.html">rs_types.rsh</a></li>
</ul>
</div>
diff --git a/docs/html/reference/renderscript/structrs__script.html b/docs/html/reference/renderscript/structrs__script.html
index 0946635..8294378 100644
--- a/docs/html/reference/renderscript/structrs__script.html
+++ b/docs/html/reference/renderscript/structrs__script.html
@@ -37,7 +37,7 @@
<p>Definition at line <a class="el" href="rs__types_8rsh_source.html#l00133">133</a> of file <a class="el" href="rs__types_8rsh_source.html">rs_types.rsh</a>.</p>
</div><hr/>The documentation for this struct was generated from the following file:<ul>
-<li>/src/ics-mr1/frameworks/base/libs/rs/scriptc/<a class="el" href="rs__types_8rsh_source.html">rs_types.rsh</a></li>
+<li><a class="el" href="rs__types_8rsh_source.html">rs_types.rsh</a></li>
</ul>
</div>
diff --git a/docs/html/reference/renderscript/structrs__script__call.html b/docs/html/reference/renderscript/structrs__script__call.html
index 9ba0681..83432e5 100644
--- a/docs/html/reference/renderscript/structrs__script__call.html
+++ b/docs/html/reference/renderscript/structrs__script__call.html
@@ -31,9 +31,9 @@
<!-- doxytag: class="rs_script_call" --><hr/><a name="details" id="details"></a><h2>Detailed Description</h2>
<div class="textblock"><p>Structure to provide extra information to a rsForEach call. Primarly used to restrict the call to a subset of cells in the allocation. </p>
-<p>Definition at line <a class="el" href="rs__core_8rsh_source.html#l00088">88</a> of file <a class="el" href="rs__core_8rsh_source.html">rs_core.rsh</a>.</p>
+<p>Definition at line <a class="el" href="rs__core_8rsh_source.html#l00106">106</a> of file <a class="el" href="rs__core_8rsh_source.html">rs_core.rsh</a>.</p>
</div><hr/>The documentation for this struct was generated from the following file:<ul>
-<li>/src/ics-mr1/frameworks/base/libs/rs/scriptc/<a class="el" href="rs__core_8rsh_source.html">rs_core.rsh</a></li>
+<li><a class="el" href="rs__core_8rsh_source.html">rs_core.rsh</a></li>
</ul>
</div>
diff --git a/docs/html/reference/renderscript/structrs__tm.html b/docs/html/reference/renderscript/structrs__tm.html
index 80f8fe9..8148dcb 100644
--- a/docs/html/reference/renderscript/structrs__tm.html
+++ b/docs/html/reference/renderscript/structrs__tm.html
@@ -67,7 +67,7 @@
<p>Definition at line <a class="el" href="rs__time_8rsh_source.html#l00049">49</a> of file <a class="el" href="rs__time_8rsh_source.html">rs_time.rsh</a>.</p>
</div><hr/>The documentation for this struct was generated from the following file:<ul>
-<li>/src/ics-mr1/frameworks/base/libs/rs/scriptc/<a class="el" href="rs__time_8rsh_source.html">rs_time.rsh</a></li>
+<li><a class="el" href="rs__time_8rsh_source.html">rs_time.rsh</a></li>
</ul>
</div>
diff --git a/docs/html/reference/renderscript/structrs__type.html b/docs/html/reference/renderscript/structrs__type.html
index f8eec3e..7d97fb9 100644
--- a/docs/html/reference/renderscript/structrs__type.html
+++ b/docs/html/reference/renderscript/structrs__type.html
@@ -37,7 +37,7 @@
<p>Definition at line <a class="el" href="rs__types_8rsh_source.html#l00115">115</a> of file <a class="el" href="rs__types_8rsh_source.html">rs_types.rsh</a>.</p>
</div><hr/>The documentation for this struct was generated from the following file:<ul>
-<li>/src/ics-mr1/frameworks/base/libs/rs/scriptc/<a class="el" href="rs__types_8rsh_source.html">rs_types.rsh</a></li>
+<li><a class="el" href="rs__types_8rsh_source.html">rs_types.rsh</a></li>
</ul>
</div>
diff --git a/docs/html/sdk/terms.jd b/docs/html/sdk/terms.jd
new file mode 100644
index 0000000..2b92a6f
--- /dev/null
+++ b/docs/html/sdk/terms.jd
@@ -0,0 +1,207 @@
+page.title=Terms and Conditions
+hide_license_footer=true
+@jd:body
+
+<p>This is the Android Software Development Kit License Agreement.</p>
+
+<h2>
+ 1. Introduction
+</h2>
+<p>
+ 1.1 The Android Software Development Kit (referred to in this License Agreement as the "SDK" and specifically including the Android system files, packaged APIs, and Google APIs add-ons) is licensed to you subject to the terms of this License Agreement. This License Agreement forms a legally binding contract between you and Google in relation to your use of the SDK.
+
+</p>
+<p>
+ 1.2 "Google" means Google Inc., a Delaware corporation with principal place of business at 1600 Amphitheatre Parkway, Mountain View, CA 94043, United States.
+</p>
+<h2>
+ 2. Accepting this License Agreement
+</h2>
+<p>
+ 2.1 In order to use the SDK, you must first agree to this License Agreement. You may not use the SDK if you do not accept this License Agreement.
+</p>
+<p>
+ 2.2 You can accept this License Agreement by:
+</p>
+<p>
+ (A) clicking to accept or agree to this License Agreement, where this option is made available to you; or
+</p>
+<p>
+ (B) by actually using the SDK. In this case, you agree that use of the SDK constitutes acceptance of the Licensing Agreement from that point onwards.
+</p>
+<p>
+ 2.3 You may not use the SDK and may not accept the Licensing Agreement if you are a person barred from receiving the SDK under the laws of the United States or other countries including the country in which you are resident or from which you use the SDK.
+</p>
+<p>
+ 2.4 If you are agreeing to be bound by this License Agreement on behalf of your employer or other entity, you represent and warrant that you have full legal authority to bind your employer or such entity to this License Agreement. If you do not have the requisite authority, you may not accept the Licensing Agreement or use the SDK on behalf of your employer or other entity.
+</p>
+<h2>
+ 3. SDK License from Google
+</h2>
+<p>
+ 3.1 Subject to the terms of this License Agreement, Google grants you a limited, worldwide, royalty-free, non- assignable and non-exclusive license to use the SDK solely to develop applications to run on the Android platform.
+</p>
+<p>
+ 3.2 You agree that Google or third parties own all legal right, title and interest in and to the SDK, including any Intellectual Property Rights that subsist in the SDK. "Intellectual Property Rights" means any and all rights under patent law, copyright law, trade secret law, trademark law, and any and all other proprietary rights. Google reserves all rights not expressly granted to you.
+
+</p>
+<p>
+ 3.3 Except to the extent required by applicable third party licenses, you may not copy (except for backup purposes), modify, adapt, redistribute, decompile, reverse engineer, disassemble, or create derivative works of the SDK or any part of the SDK. Except to the extent required by applicable third party licenses, you may not load any part of the SDK onto a mobile handset or any other hardware device except a personal computer, combine any part of the SDK with other software, or distribute any software or device incorporating a part of the SDK.
+</p>
+<p>
+ 3.4 Use, reproduction and distribution of components of the SDK licensed under an open source software license are governed solely by the terms of that open source software license and not this License Agreement.
+</p>
+<p>
+ 3.5 You agree that the form and nature of the SDK that Google provides may change without prior notice to you and that future versions of the SDK may be incompatible with applications developed on previous versions of the SDK. You agree that Google may stop (permanently or temporarily) providing the SDK (or any features within the SDK) to you or to users generally at Google's sole discretion, without prior notice to you.
+</p>
+<p>
+ 3.6 Nothing in this License Agreement gives you a right to use any of Google's trade names, trademarks, service marks, logos, domain names, or other distinctive brand features.
+</p>
+<p>
+ 3.7 You agree that you will not remove, obscure, or alter any proprietary rights notices (including copyright and trademark notices) that may be affixed to or contained within the SDK.
+</p>
+<h2>
+ 4. Use of the SDK by You
+</h2>
+<p>
+ 4.1 Google agrees that it obtains no right, title or interest from you (or your licensors) under this License Agreement in or to any software applications that you develop using the SDK, including any intellectual property rights that subsist in those applications.
+</p>
+<p>
+ 4.2 You agree to use the SDK and write applications only for purposes that are permitted by (a) this License Agreement and (b) any applicable law, regulation or generally accepted practices or guidelines in the relevant jurisdictions (including any laws regarding the export of data or software to and from the United States or other relevant countries).
+</p>
+<p>
+ 4.3 You agree that if you use the SDK to develop applications for general public users, you will protect the privacy and legal rights of those users. If the users provide you with user names, passwords, or other login information or personal information, your must make the users aware that the information will be available to your application, and you must provide legally adequate privacy notice and protection for those users. If your application stores personal or sensitive information provided by users, it must do so securely. If the user provides your application with Google Account information, your application may only use that information to access the user's Google Account when, and for the limited purposes for which, the user has given you permission to do so.
+</p>
+<p>
+ 4.4 You agree that you will not engage in any activity with the SDK, including the development or distribution of an application, that interferes with, disrupts, damages, or accesses in an unauthorized manner the servers, networks, or other properties or services of any third party including, but not limited to, Google or any mobile communications carrier.
+</p>
+<p>
+ 4.5 You agree that you are solely responsible for (and that Google has no responsibility to you or to any third party for) any data, content, or resources that you create, transmit or display through the Android platform and/or applications for the Android platform, and for the consequences of your actions (including any loss or damage which Google may suffer) by doing so.
+</p>
+<p>
+ 4.6 You agree that you are solely responsible for (and that Google has no responsibility to you or to any third party for) any breach of your obligations under this License Agreement, any applicable third party contract or Terms of Service, or any applicable law or regulation, and for the consequences (including any loss or damage which Google or any third party may suffer) of any such breach.
+</p>
+<h2>
+ 5. Your Developer Credentials
+</h2>
+<p>
+ 5.1 You agree that you are responsible for maintaining the confidentiality of any developer credentials that may be issued to you by Google or which you may choose yourself and that you will be solely responsible for all applications that are developed under your developer credentials.
+</p>
+<h2>
+ 6. Privacy and Information
+</h2>
+<p>
+ 6.1 In order to continually innovate and improve the SDK, Google may collect certain usage statistics from the software including but not limited to a unique identifier, associated IP address, version number of the software, and information on which tools and/or services in the SDK are being used and how they are being used. Before any of this information is collected, the SDK will notify you and seek your consent. If you withhold consent, the information will not be collected.
+</p>
+<p>
+ 6.2 The data collected is examined in the aggregate to improve the SDK and is maintained in accordance with Google's Privacy Policy.
+</p>
+<h2>
+ 7. Third Party Applications for the Android Platform
+</h2>
+<p>
+ 7.1 If you use the SDK to run applications developed by a third party or that access data, content or resources provided by a third party, you agree that Google is not responsible for those applications, data, content, or resources. You understand that all data, content or resources which you may access through such third party applications are the sole responsibility of the person from which they originated and that Google is not liable for any loss or damage that you may experience as a result of the use or access of any of those third party applications, data, content, or resources.
+</p>
+<p>
+ 7.2 You should be aware the data, content, and resources presented to you through such a third party application may be protected by intellectual property rights which are owned by the providers (or by other persons or companies on their behalf). You may not modify, rent, lease, loan, sell, distribute or create derivative works based on these data, content, or resources (either in whole or in part) unless you have been specifically given permission to do so by the relevant owners.
+</p>
+<p>
+ 7.3 You acknowledge that your use of such third party applications, data, content, or resources may be subject to separate terms between you and the relevant third party. In that case, this License Agreement does not affect your legal relationship with these third parties.
+</p>
+<h2>
+ 8. Using Android APIs
+</h2>
+<p>
+ 8.1 Google Data APIs
+</p>
+<p>
+ 8.1.1 If you use any API to retrieve data from Google, you acknowledge that the data may be protected by intellectual property rights which are owned by Google or those parties that provide the data (or by other persons or companies on their behalf). Your use of any such API may be subject to additional Terms of Service. You may not modify, rent, lease, loan, sell, distribute or create derivative works based on this data (either in whole or in part) unless allowed by the relevant Terms of Service.
+</p>
+<p>
+ 8.1.2 If you use any API to retrieve a user's data from Google, you acknowledge and agree that you shall retrieve data only with the user's explicit consent and only when, and for the limited purposes for which, the user has given you permission to do so.
+
+</p>
+<h2>
+ 9. Terminating this License Agreement
+</h2>
+<p>
+ 9.1 This License Agreement will continue to apply until terminated by either you or Google as set out below.
+</p>
+<p>
+ 9.2 If you want to terminate this License Agreement, you may do so by ceasing your use of the SDK and any relevant developer credentials.
+</p>
+<p>
+ 9.3 Google may at any time, terminate this License Agreement with you if:
+</p>
+<p>
+ (A) you have breached any provision of this License Agreement; or
+</p>
+<p>
+ (B) Google is required to do so by law; or
+</p>
+<p>
+ (C) the partner with whom Google offered certain parts of SDK (such as APIs) to you has terminated its relationship with Google or ceased to offer certain parts of the SDK to you; or
+</p>
+<p>
+ (D) Google decides to no longer providing the SDK or certain parts of the SDK to users in the country in which you are resident or from which you use the service, or the provision of the SDK or certain SDK services to you by Google is, in Google's sole discretion, no longer commercially viable.
+</p>
+<p>
+ 9.4 When this License Agreement comes to an end, all of the legal rights, obligations and liabilities that you and Google have benefited from, been subject to (or which have accrued over time whilst this License Agreement has been in force) or which are expressed to continue indefinitely, shall be unaffected by this cessation, and the provisions of paragraph 14.7 shall continue to apply to such rights, obligations and liabilities indefinitely.
+</p>
+<h2>
+ 10. DISCLAIMER OF WARRANTIES
+</h2>
+<p>
+ 10.1 YOU EXPRESSLY UNDERSTAND AND AGREE THAT YOUR USE OF THE SDK IS AT YOUR SOLE RISK AND THAT THE SDK IS PROVIDED "AS IS" AND "AS AVAILABLE" WITHOUT WARRANTY OF ANY KIND FROM GOOGLE.
+</p>
+<p>
+ 10.2 YOUR USE OF THE SDK AND ANY MATERIAL DOWNLOADED OR OTHERWISE OBTAINED THROUGH THE USE OF THE SDK IS AT YOUR OWN DISCRETION AND RISK AND YOU ARE SOLELY RESPONSIBLE FOR ANY DAMAGE TO YOUR COMPUTER SYSTEM OR OTHER DEVICE OR LOSS OF DATA THAT RESULTS FROM SUCH USE.
+</p>
+<p>
+ 10.3 GOOGLE FURTHER EXPRESSLY DISCLAIMS ALL WARRANTIES AND CONDITIONS OF ANY KIND, WHETHER EXPRESS OR IMPLIED, INCLUDING, BUT NOT LIMITED TO THE IMPLIED WARRANTIES AND CONDITIONS OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT.
+</p>
+<h2>
+ 11. LIMITATION OF LIABILITY
+</h2>
+<p>
+ 11.1 YOU EXPRESSLY UNDERSTAND AND AGREE THAT GOOGLE, ITS SUBSIDIARIES AND AFFILIATES, AND ITS LICENSORS SHALL NOT BE LIABLE TO YOU UNDER ANY THEORY OF LIABILITY FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL CONSEQUENTIAL OR EXEMPLARY DAMAGES THAT MAY BE INCURRED BY YOU, INCLUDING ANY LOSS OF DATA, WHETHER OR NOT GOOGLE OR ITS REPRESENTATIVES HAVE BEEN ADVISED OF OR SHOULD HAVE BEEN AWARE OF THE POSSIBILITY OF ANY SUCH LOSSES ARISING.
+</p>
+<h2>
+ 12. Indemnification
+</h2>
+<p>
+ 12.1 To the maximum extent permitted by law, you agree to defend, indemnify and hold harmless Google, its affiliates and their respective directors, officers, employees and agents from and against any and all claims, actions, suits or proceedings, as well as any and all losses, liabilities, damages, costs and expenses (including reasonable attorneys fees) arising out of or accruing from (a) your use of the SDK, (b) any application you develop on the SDK that infringes any copyright, trademark, trade secret, trade dress, patent or other intellectual property right of any person or defames any person or violates their rights of publicity or privacy, and (c) any non-compliance by you with this License Agreement.
+</p>
+<h2>
+ 13. Changes to the License Agreement
+</h2>
+<p>
+ 13.1 Google may make changes to the License Agreement as it distributes new versions of the SDK. When these changes are made, Google will make a new version of the License Agreement available on the website where the SDK is made available.
+</p>
+<h2>
+ 14. General Legal Terms
+</h2>
+<p>
+ 14.1 This License Agreement constitute the whole legal agreement between you and Google and govern your use of the SDK (excluding any services which Google may provide to you under a separate written agreement), and completely replace any prior agreements between you and Google in relation to the SDK.
+</p>
+<p>
+ 14.2 You agree that if Google does not exercise or enforce any legal right or remedy which is contained in this License Agreement (or which Google has the benefit of under any applicable law), this will not be taken to be a formal waiver of Google's rights and that those rights or remedies will still be available to Google.
+</p>
+<p>
+ 14.3 If any court of law, having the jurisdiction to decide on this matter, rules that any provision of this License Agreement is invalid, then that provision will be removed from this License Agreement without affecting the rest of this License Agreement. The remaining provisions of this License Agreement will continue to be valid and enforceable.
+</p>
+<p>
+ 14.4 You acknowledge and agree that each member of the group of companies of which Google is the parent shall be third party beneficiaries to this License Agreement and that such other companies shall be entitled to directly enforce, and rely upon, any provision of this License Agreement that confers a benefit on (or rights in favor of) them. Other than this, no other person or company shall be third party beneficiaries to this License Agreement.
+</p>
+<p>
+ 14.5 EXPORT RESTRICTIONS. THE SDK IS SUBJECT TO UNITED STATES EXPORT LAWS AND REGULATIONS. YOU MUST COMPLY WITH ALL DOMESTIC AND INTERNATIONAL EXPORT LAWS AND REGULATIONS THAT APPLY TO THE SDK. THESE LAWS INCLUDE RESTRICTIONS ON DESTINATIONS, END USERS AND END USE.
+</p>
+<p>
+ 14.6 The rights granted in this License Agreement may not be assigned or transferred by either you or Google without the prior written approval of the other party. Neither you nor Google shall be permitted to delegate their responsibilities or obligations under this License Agreement without the prior written approval of the other party.
+</p>
+<p>
+ 14.7 This License Agreement, and your relationship with Google under this License Agreement, shall be governed by the laws of the State of California without regard to its conflict of laws provisions. You and Google agree to submit to the exclusive jurisdiction of the courts located within the county of Santa Clara, California to resolve any legal matter arising from this License Agreement. Notwithstanding this, you agree that Google shall still be allowed to apply for injunctive remedies (or an equivalent type of urgent legal relief) in any jurisdiction.
+</p>
+<p>
+ <em>April 10, 2009</em>
+</p>
\ No newline at end of file
diff --git a/docs/html/shareables/training/CustomView.zip b/docs/html/shareables/training/CustomView.zip
index f8c1c7a..d7ae8a2 100644
--- a/docs/html/shareables/training/CustomView.zip
+++ b/docs/html/shareables/training/CustomView.zip
Binary files differ
diff --git a/docs/html/tools/sdk/ndk/index.jd b/docs/html/tools/sdk/ndk/index.jd
index 956d939..6be3168 100644
--- a/docs/html/tools/sdk/ndk/index.jd
+++ b/docs/html/tools/sdk/ndk/index.jd
@@ -16,7 +16,59 @@
@jd:body
-<h2 id="notes">Revisions</h2>
+
+ <div id="qv-wrapper">
+ <div id="qv">
+ <h2>In this document</h2>
+
+ <ol>
+ <li><a href="#Downloads">Downloads</a></li>
+ <li><a href="#Revisions">Revisions</a></li>
+ <li><a href="#Reqs">System and Software Requirements</a></li>
+ <li><a href="#Installing">Installing the NDK</a></li>
+ <li><a href="#GetStarted">Getting Started with the NDK</a>
+ <ol>
+ <li><a href="#Using">Using the NDK</a></li>
+ </ol>
+ </li>
+ <li><a href="#Contents">Contents of the NDK</a>
+ <ol>
+ <li><a href="#Tools">Development tools</a></li>
+ <li><a href="#Docs">Documentation</a></li>
+ <li><a href="#Samples">Sample apps</a></li>
+ </ol>
+ </li>
+ </ol>
+ </div>
+ </div>
+
+ <p>The NDK is a toolset that allows you to implement parts
+ of your app using native-code languages such as C and C++. For certain types of apps,
+ this can be helpful so that you may reuse existing code libraries written in these
+ languages and possibly increased performance.</p>
+
+ <p>Before downloading the NDK, you should understand that <strong>the NDK
+ will not benefit most apps</strong>. As a developer, you need to balance its benefits
+ against its drawbacks. Notably, using native code on Android
+ generally does not result in a noticable performance improvement,
+ but it always increases your app complexity. In general, you should only use the NDK
+ if it is essential to your app—never because you simply prefer to program in C/C++.</p>
+
+ <p>Typical good candidates for the NDK are self-contained, CPU-intensive operations that don't
+ allocate much memory, such as signal processing, physics simulation, and so on. When examining
+ whether or not you should develop in native code, think about your requirements and see if the
+ Android framework APIs provide the functionality that you need.</p>
+
+
+<h2 id="Downloads">Downloads</h2>
+
+
+<script>
+$('#Downloads').after($('#download-table'));
+</script>
+
+
+<h2 id="Revisions">Revisions</h2>
<p>The sections below provide information and notes about successive releases of
the NDK, as denoted by revision number. </p>
@@ -98,7 +150,7 @@
<p class="note"><strong>Note:</strong> To ensure that your applications are available
to users only if their devices are capable of running them, Google Play filters applications based
-on the instruction set information included in your application — no action is needed on your part
+on the instruction set information included in your application ? no action is needed on your part
to enable the filtering. Additionally, the Android system itself also checks your application at
install time and allows the installation to continue only if the application provides a library that
is compiled for the device's CPU architecture.</p>
@@ -313,7 +365,7 @@
native features to the platform:
<ul>
- <li>Added native multimedia API based on the Khronos Group OpenMAX AL™ 1.0.1
+ <li>Added native multimedia API based on the Khronos Group OpenMAX AL? 1.0.1
standard. The new <code><OMXAL/OpenMAXAL.h></code> and
<code><OMXAL/OpenMAXAL_Android.h></code> headers allow applications targeting
API level 14 to perform multimedia output directly from native code by using a new
@@ -321,7 +373,7 @@
<code>docs/openmaxal/index.html</code> and <a href=
"http://www.khronos.org/openmax/">http://www.khronos.org/openmax/</a>.</li>
- <li>Updated the native audio API based on the Khronos Group OpenSL ES 1.0.1™
+ <li>Updated the native audio API based on the Khronos Group OpenSL ES 1.0.1?
standard. With API Level 14, you can now decode compressed audio (e.g. MP3, AAC,
Vorbis) to PCM. For more details, see <code>docs/opensles/index.html</code> and
<a href=
@@ -1052,7 +1104,216 @@
</div>
</div>
- <h2 id="installing">Installing the NDK</h2>
+
+
+
+
+<!-- ####################### END OF RELEASE NOTES ####################### -->
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ <h2 id="Reqs">System and Software Requirements</h2>
+
+ <p>The sections below describe the system and software requirements for using the Android NDK, as
+ well as platform compatibility considerations that affect appplications using libraries produced
+ with the NDK.</p>
+
+ <h4>The Android SDK</h4>
+
+ <ul>
+ <li>A complete Android SDK installation (including all dependencies) is required.</li>
+
+ <li>Android 1.5 SDK or later version is required.</li>
+ </ul>
+
+ <h4>Supported operating systems</h4>
+
+ <ul>
+ <li>Windows XP (32-bit) or Vista (32- or 64-bit)</li>
+
+ <li>Mac OS X 10.4.8 or later (x86 only)</li>
+
+ <li>Linux (32 or 64-bit; Ubuntu 8.04, or other Linux distributions using GLibc 2.7 or
+later)</li>
+ </ul>
+
+ <h4>Required development tools</h4>
+
+ <ul>
+ <li>For all development platforms, GNU Make 3.81 or later is required. Earlier versions of GNU
+ Make might work but have not been tested.</li>
+
+ <li>A recent version of awk (either GNU Awk or Nawk) is also required.</li>
+
+ <li>For Windows, <a href="http://www.cygwin.com">Cygwin</a> 1.7 or higher is required. The NDK
+ will <em>not</em> work with Cygwin 1.5 installations.</li>
+ </ul>
+
+ <h4 id="platform-compat">Android platform compatibility</h4>
+
+ <ul>
+ <li>The native libraries created by the Android NDK can only be used on devices running
+ specific minimum Android platform versions. The minimum required platform version depends on
+ the CPU architecture of the devices you are targeting. The following table details which
+ Android platform versions are compatible with native code developed for specific CPU
+ architectures.
+
+ <table style="margin:1em;">
+ <tr>
+ <th>Native Code CPU Architecture Used</th>
+ <th>Compatible Android Platform(s)</th>
+ </tr>
+
+ <tr>
+ <td>ARM, ARM-NEON</td>
+ <td>Android 1.5 (API Level 3) and higher</td>
+ </tr>
+
+ <tr>
+ <td>x86</td>
+ <td>Android 2.3 (API Level 9) and higher</td>
+ </tr>
+
+ <tr>
+ <td>MIPS</td>
+ <td>Android 2.3 (API Level 9) and higher</td>
+ </tr>
+ </table>
+
+ <p>These requirements mean you can use native libraries produced with the NDK in
+ applications that are deployable to ARM-based devices running Android 1.5 or later. If you are
+ deploying native libraries to x86 and MIPS-based devices, your application must target Android
+ 2.3 or later.</p>
+ </li>
+
+ <li>To ensure compatibility, an application using a native library produced with the NDK
+ <em>must</em> declare a <a href="{@docRoot}guide/topics/manifest/uses-sdk-element.html"><code>
+ <uses-sdk></code></a> element in its manifest file, with an
+ <code>android:minSdkVersion</code> attribute value of "3" or higher. For example:
+
+<pre style="margin:1em;">
+<manifest>
+ <uses-sdk android:minSdkVersion="3" />
+ ...
+</manifest>
+</pre>
+ </li>
+
+ <li>If you use this NDK to create a native library that uses the OpenGL ES APIs, the
+ application containing the library can be deployed only to devices running the minimum platform
+ versions described in the table below. To ensure compatibility, make sure that your application
+ declares the proper <code>android:minSdkVersion</code> attribute value, as shown in the
+ following table.</li>
+
+ <li style="list-style: none; display: inline">
+ <table style="margin:1em;">
+ <tr>
+ <th>OpenGL ES Version Used</th>
+
+ <th>Compatible Android Platform(s)</th>
+
+ <th>Required uses-sdk Attribute</th>
+ </tr>
+
+ <tr>
+ <td>OpenGL ES 1.1</td>
+
+ <td>Android 1.6 (API Level 4) and higher</td>
+
+ <td><code>android:minSdkVersion="4"</code></td>
+ </tr>
+
+ <tr>
+ <td>OpenGL ES 2.0</td>
+
+ <td>Android 2.0 (API Level 5) and higher</td>
+
+ <td><code>android:minSdkVersion="5"</code></td>
+ </tr>
+ </table>
+
+ <p>For more information about API Level and its relationship to Android platform versions,
+ see <a href="{@docRoot}guide/topics/manifest/uses-sdk-element.html#ApiLevels">Android API Levels</a>.</p>
+ </li>
+
+ <li>Additionally, an application using the OpenGL ES APIs should declare a
+ <code><uses-feature></code> element in its manifest, with an
+ <code>android:glEsVersion</code> attribute that specifies the minimum OpenGl ES version
+ required by the application. This ensures that Google Play will show your application only
+ to users whose devices are capable of supporting your application. For example:
+ <pre style="margin:1em;">
+<manifest>
+<!-- Declare that the application uses the OpenGL ES 2.0 API and is designed
+ to run only on devices that support OpenGL ES 2.0 or higher. -->
+ <uses-feature android:glEsVersion="0x00020000" />
+ ...
+</manifest>
+</pre>
+
+ <p>For more information, see the <a href=
+ "{@docRoot}guide/topics/manifest/uses-feature-element.html"><code><uses-feature></code></a>
+ documentation.</p>
+ </li>
+
+ <li>If you use this NDK to create a native library that uses the API to access Android {@link
+ android.graphics.Bitmap} pixel buffers or utilizes native activities, the application
+ containing the library can be deployed only to devices running Android 2.2 (API level 8) or
+ higher. To ensure compatibility, make sure that your application declares <code><uses-sdk
+ android:minSdkVersion="8" /></code> attribute value in its manifest.</li>
+ </ul>
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ <h2 id="Installing">Installing the NDK</h2>
<p>Installing the NDK on your development computer is straightforward and involves extracting the
NDK from its download package.</p>
@@ -1078,51 +1339,450 @@
<p>You are now ready to start working with the NDK.</p>
- <h2 id="gettingstarted">Getting Started with the NDK</h2>
+
+<h2 id="GetStarted">Getting Started with the NDK</h2>
- <p>Once you've installed the NDK successfully, take a few minutes to read the documentation
- included in the NDK. You can find the documentation in the <code><ndk>/docs/</code>
- directory. In particular, please read the OVERVIEW.HTML document completely, so that you
- understand the intent of the NDK and how to use it.</p>
+<p>Once you've installed the NDK successfully, take a few minutes to read the documentation
+included in the NDK. You can find the documentation in the <code><ndk>/docs/</code>
+directory. In particular, please read the OVERVIEW.HTML document completely, so that you
+understand the intent of the NDK and how to use it.</p>
- <p>If you used a previous version of the NDK, take a moment to review the list of NDK changes in
- the CHANGES.HTML document.</p>
+<p>If you used a previous version of the NDK, take a moment to review the list of NDK changes in
+the CHANGES.HTML document.</p>
- <p>Here's the general outline of how you work with the NDK tools:</p>
+<p>Here's the general outline of how you work with the NDK tools:</p>
- <ol>
- <li>Place your native sources under <code><project>/jni/...</code></li>
+<ol>
+ <li>Place your native sources under <code><project>/jni/...</code></li>
- <li>Create <code><project>/jni/Android.mk</code> to describe your native sources to the
- NDK build system</li>
+ <li>Create <code><project>/jni/Android.mk</code> to describe your native sources to the
+ NDK build system</li>
- <li>Optional: Create <code><project>/jni/Application.mk</code>.</li>
+ <li>Optional: Create <code><project>/jni/Application.mk</code>.</li>
- <li>Build your native code by running the 'ndk-build' script from your project's directory. It
- is located in the top-level NDK directory:
- <pre class="no-pretty-print">cd <project>
+ <li>Build your native code by running the 'ndk-build' script from your project's directory. It
+ is located in the top-level NDK directory:
+ <pre class="no-pretty-print">cd <project>
<ndk>/ndk-build
</pre>
- <p>The build tools copy the stripped, shared libraries needed by your application to the
- proper location in the application's project directory.</p>
+ <p>The build tools copy the stripped, shared libraries needed by your application to the
+ proper location in the application's project directory.</p>
+ </li>
+
+ <li>Finally, compile your application using the SDK tools in the usual way. The SDK build tools
+ will package the shared libraries in the application's deployable <code>.apk</code> file.</li>
+</ol>
+
+<p>For complete information on all of the steps listed above, please see the documentation
+included with the NDK package.</p>
+
+
+<h3 id="Using">Using the NDK</h3>
+
+<p>The Android framework provides two ways to use native code:</p>
+
+<ul>
+ <li>Write your application using the Android framework and use JNI to access the APIs provided
+ by the Android NDK. This technique allows you to take advantage of the convenience of the
+ Android framework, but still allows you to write native code when necessary. If you use this
+ approach, your application must target specific, minimum Android platform levels, see <a
+ href="#platform-compat">Android platform compatibility</a> for more information.</li>
+
+ <li>
+ <p>Write a native activity, which allows you to implement the lifecycle callbacks in native
+ code. The Android SDK provides the {@link android.app.NativeActivity} class, which is a
+ convenience class that notifies your
+ native code of any activity lifecycle callbacks (<code>onCreate()</code>, <code>onPause()</code>,
+ <code>onResume()</code>, etc). You can implement the callbacks in your native code to handle
+ these events when they occur. Applications that use native activities must be run on Android
+ 2.3 (API Level 9) or later.</p>
+
+ <p>You cannot access features such as Services and Content Providers natively, so if you want
+ to use them or any other framework API, you can still write JNI code to do so.</p>
+ </li>
+</ul>
+
+
+
+
+
+ <h2 id="Contents">Contents of the NDK</h2>
+
+ <p>The NDK contains the APIs, documentation, and sample
+ applications that help you write your native code. Specifically:</p>
+
+ <ul>
+ <li>A set of tools and build files used to generate native code libraries from C and C++
+ sources</li>
+
+ <li>A way to embed the corresponding native libraries into an application package file
+ (<code>.apk</code>) that can be deployed on Android devices</li>
+
+ <li>A set of native system headers and libraries that will be supported in all future versions
+ of the Android platform, starting from Android 1.5. Applications that use native activities
+ must be run on Android 2.3 or later.</li>
+
+ <li>Documentation, samples, and tutorials</li>
+ </ul>
+
+ <p>The latest release of the NDK supports the following instruction sets:</p>
+
+ <ul>
+ <li>ARMv5TE, including Thumb-1 instructions (see {@code docs/CPU-ARCH-ABIS.html} for more
+information)</li>
+
+ <li>ARMv7-A, including Thumb-2 and VFPv3-D16 instructions, with optional support for
+ NEON/VFPv3-D32 instructions (see {@code docs/CPU-ARM-NEON.html} for more information)</li>
+
+ <li>x86 instructions (see {@code docs/CPU-X86.html} for more information)</li>
+
+ <li>MIPS instructions (see {@code docs/CPU-MIPS.html} for more information)</li>
+ </ul>
+
+ <p>ARMv5TE machine code will run on all ARM-based Android devices. ARMv7-A will run only on
+ devices such as the Verizon Droid or Google Nexus One that have a compatible CPU. The main
+ difference between the two instruction sets is that ARMv7-A supports hardware FPU, Thumb-2, and
+ NEON instructions. You can target either or both of the instruction sets — ARMv5TE is the
+ default, but switching to ARMv7-A is as easy as adding a single line to the application's
+ <code>Application.mk</code> file, without needing to change anything else in the file. You can also build for
+ both architectures at the same time and have everything stored in the final <code>.apk</code>.
+ Complete information is provided in the CPU-ARCH-ABIS.HTML in the NDK package.</p>
+
+ <p>The NDK provides stable headers for libc (the C library), libm (the Math library), OpenGL ES
+ (3D graphics library), the JNI interface, and other libraries, as listed in the <a href=
+ "#Tools">Development tools</a> section.</p>
+
+
+ <h3 id="Tools">Development tools</h3>
+
+ <p>The NDK includes a set of cross-toolchains (compilers, linkers, etc..) that can generate
+ native ARM binaries on Linux, OS X, and Windows (with Cygwin) platforms.</p>
+
+ <p>It provides a set of system headers for stable native APIs that are guaranteed to be supported
+ in all later releases of the platform:</p>
+
+ <ul>
+ <li>libc (C library) headers</li>
+
+ <li>libm (math library) headers</li>
+
+ <li>JNI interface headers</li>
+
+ <li>libz (Zlib compression) headers</li>
+
+ <li>liblog (Android logging) header</li>
+
+ <li>OpenGL ES 1.1 and OpenGL ES 2.0 (3D graphics libraries) headers</li>
+
+ <li>libjnigraphics (Pixel buffer access) header (for Android 2.2 and above).</li>
+
+ <li>A Minimal set of headers for C++ support</li>
+
+ <li>OpenSL ES native audio libraries</li>
+
+ <li>Android native application APIS</li>
+ </ul>
+
+ <p>The NDK also provides a build system that lets you work efficiently with your sources, without
+ having to handle the toolchain/platform/CPU/ABI details. You create very short build files to
+ describe which sources to compile and which Android application will use them — the build
+ system compiles the sources and places the shared libraries directly in your application
+ project.</p>
+
+ <p class="caution"><strong>Important:</strong> With the exception of the libraries listed above,
+ native system libraries in the Android platform are <em>not</em> stable and may change in future
+ platform versions. Your applications should <em>only</em> make use of the stable native system
+ libraries provided in this NDK.</p>
+
+
+
+ <h3 id="Docs">Documentation</h3>
+
+ <p>The NDK package includes a set of documentation that describes the capabilities of the NDK and
+ how to use it to create shared libraries for your Android applications. In this release, the
+ documentation is provided only in the downloadable NDK package. You can find the documentation in
+ the <code><ndk>/docs/</code> directory. Included are these files (partial listing):</p>
+
+ <ul>
+ <li>
+ INSTALL.HTML — describes how to install the NDK and configure it for your host
+ system</li>
+
+ <li>OVERVIEW.HTML — provides an overview of the NDK capabilities and usage</li>
+
+ <li>ANDROID-MK.HTML — describes the use of the Android.mk file, which defines the native
+ sources you want to compile</li>
+
+ <li>APPLICATION-MK.HTML — describes the use of the Application.mk file, which describes
+ the native sources required by your Android application</li>
+ <li>CPLUSPLUS-SUPPORT.HTML — describes the C++ support provided in the Android NDK</li>
+ <li>CPU-ARCH-ABIS.HTML — a description of supported CPU architectures and how to target
+ them.</li>
+
+ <li>CPU-FEATURES.HTML — a description of the <code>cpufeatures</code> static library that
+ lets your application code detect the target device's CPU family and the optional features at
+ runtime.</li>
+
+ <li>CHANGES.HTML — a complete list of changes to the NDK across all releases.</li>
+
+ <li>DEVELOPMENT.HTML — describes how to modify the NDK and generate release packages for it</li>
+
+ <li>HOWTO.HTML — information about common tasks associated with NDK development</li>
+
+ <li>IMPORT-MODULE.HTML — describes how to share and reuse modules</li>
+
+ <li>LICENSES.HTML — information about the various open source licenses that govern the Android NDK</li>
+
+ <li>NATIVE-ACTIVITY.HTML — describes how to implement native activities</li>
+
+ <li>NDK-BUILD.HTML — describes the usage of the ndk-build script</li>
+
+ <li>NDK-GDB.HTML — describes how to use the native code debugger</li>
+
+ <li>PREBUILTS.HTML — information about how shared and static prebuilt libraries work </li>
+
+ <li>STANDALONE-TOOLCHAIN.HTML — describes how to use Android NDK toolchain as a standalone
+ compiler (still in beta).</li>
+
+ <li>SYSTEM-ISSUES.HTML — known issues in the Android system images that you should be
+ aware of, if you are developing using the NDK.</li>
+
+ <li>STABLE-APIS.HTML — a complete list of the stable APIs exposed by headers in the
+ NDK.</li>
+
+ </ul>
+
+ <p>Additionally, the package includes detailed information about the "bionic" C library provided
+ with the Android platform that you should be aware of, if you are developing using the NDK. You
+ can find the documentation in the <code><ndk>/docs/system/libc/</code> directory:</p>
+
+ <ul>
+ <li>OVERVIEW.HTML — provides an overview of the "bionic" C library and the features it
+ offers.</li>
+ </ul>
+
+
+
+
+
+<h3 id="Samples">Sample apps</h3>
+
+<p>The NDK includes sample applications that illustrate how to use native code in your Android
+ applications:</p>
+
+ <ul>
+ <li><code>hello-jni</code> — a simple application that loads a string from a native
+ method implemented in a shared library and then displays it in the application UI.</li>
+
+ <li><code>two-libs</code> — a simple application that loads a shared library dynamically
+ and calls a native method provided by the library. In this case, the method is implemented in a
+ static library imported by the shared library.</li>
+
+ <li><code>san-angeles</code> — a simple application that renders 3D graphics through the
+ native OpenGL ES APIs, while managing activity lifecycle with a {@link
+ android.opengl.GLSurfaceView} object.</li>
+
+ <li><code>hello-gl2</code> — a simple application that renders a triangle using OpenGL ES
+ 2.0 vertex and fragment shaders.</li>
+
+ <li><code>hello-neon</code> — a simple application that shows how to use the
+ <code>cpufeatures</code> library to check CPU capabilities at runtime, then use NEON intrinsics
+ if supported by the CPU. Specifically, the application implements two versions of a tiny
+ benchmark for a FIR filter loop, a C version and a NEON-optimized version for devices that
+ support it.</li>
+
+ <li><code>bitmap-plasma</code> — a simple application that demonstrates how to access the
+ pixel buffers of Android {@link android.graphics.Bitmap} objects from native code, and uses
+ this to generate an old-school "plasma" effect.</li>
+
+ <li><code>native-activity</code> — a simple application that demonstrates how to use the
+ native-app-glue static library to create a native activity</li>
+
+ <li><code>native-plasma</code> — a version of bitmap-plasma implemented with a native
+ activity.</li>
+ </ul>
+
+ <p>For each sample, the NDK includes the corresponding C source code and the necessary Android.mk
+ and Application.mk files. There are located under <code><ndk>/samples/<name>/</code>
+ and their source code can be found under <code><ndk>/samples/<name>/jni/</code>.</p>
+
+ <p>You can build the shared libraries for the sample apps by going into
+ <code><ndk>/samples/<name>/</code> then calling the <code>ndk-build</code> command.
+ The generated shared libraries will be located under
+ <code><ndk>/samples/<name>/libs/armeabi/</code> for (ARMv5TE machine code) and/or
+ <code><ndk>/samples/<name>/libs/armeabi-v7a/</code> for (ARMv7 machine code).</p>
+
+ <p>Next, build the sample Android applications that use the shared libraries:</p>
+
+ <ul>
+ <li>If you are developing in Eclipse with ADT, use the New Project Wizard to create a new
+ Android project for each sample, using the "Import from Existing Source" option and importing
+ the source from <code><ndk>/samples/<name>/</code>. Then, set up an AVD,
+ if necessary, and build/run the application in the emulator.</li>
+
+ <li>If you are developing with Ant, use the <code>android</code> tool to create the build file
+ for each of the sample projects at <code><ndk>/samples/<name>/</code>.
+ Then set up an AVD, if necessary, build your project in the usual way, and run it in the
+ emulator.</li>
+
+ </ul>
+
+ <p>For more information about developing with the Android SDK tools and what
+ you need to do to create, build, and run your applications, see
+ the <a href="{@docRoot}tools/workflow/index.html">Overview</a>
+ section for developing on Android.</p>
+
+
+
+ <h4 id="hello-jni">Exploring the hello-jni Sample</h4>
+
+ <p>The hello-jni sample is a simple demonstration on how to use JNI from an Android application.
+ The HelloJni activity receives a string from a simple C function and displays it in a
+ TextView.</p>
+
+ <p>The main components of the sample include:</p>
+
+ <ul>
+ <li>The familiar basic structure of an Android application (an <code>AndroidManifest.xml</code>
+ file, a <code>src/</code> and <code>res</code> directories, and a main activity)</li>
+
+ <li>A <code>jni/</code> directory that includes the implemented source file for the native code
+ as well as the Android.mk file</li>
+
+ <li>A <code>tests/</code> directory that contains unit test code.</li>
+ </ul>
+
+ <ol>
+ <li>Create a new project in Eclipse from the existing sample source or use the
+ <code>android</code> tool to update the project so it generates a build.xml file that you can
+ use to build the sample.
+
+ <ul>
+ <li>In Eclipse:
+
+ <ol type="a">
+ <li>Click <strong>File > New Android Project...</strong></li>
+
+ <li>Select the <strong>Create project from existing source</strong> radio button.</li>
+
+ <li>Select any API level above Android 1.5.</li>
+
+ <li>In the <strong>Location</strong> field, click <strong>Browse...</strong> and select
+ the <code><ndk-root>/samples/hello-jni</code> directory.</li>
+
+ <li>Click <strong>Finish</strong>.</li>
+ </ol>
+ </li>
+
+ <li>On the command line:
+
+ <ol type="a">
+ <li>Change to the <code><ndk-root>/samples/hello-jni</code> directory.</li>
+
+ <li>Run the following command to generate a build.xml file:
+ <pre class="no-pretty-print">android update project -p . -s</pre>
+ </li>
+ </ol>
+ </li>
+ </ul>
</li>
- <li>Finally, compile your application using the SDK tools in the usual way. The SDK build tools
- will package the shared libraries in the application's deployable <code>.apk</code> file.</li>
+ <li>Compile the native code using the <code>ndk-build</code> command.
+ <pre class="no-pretty-print">
+cd <ndk-root>/samples/hello-jni
+<ndk_root>/ndk-build
+</pre>
+ </li>
+
+ <li>Build and install the application as you would a normal Android application. If you are
+ using Eclipse, run the application to build and install it on a device. If you are using Ant,
+ run the following commands from the project directory:
+ <pre class="no-pretty-print">
+ant debug
+adb install bin/HelloJni-debug.apk
+</pre>
+ </li>
</ol>
- <p>For complete information on all of the steps listed above, please see the documentation
- included with the NDK package.</p>
+ <p>When you run the application on the device, the string <code>Hello JNI</code> should appear on
+ your device. You can explore the rest of the samples that are located in the
+ <code><ndk-root>/samples</code> directory for more examples on how to use the JNI.</p>
- <h2 id="samples">Sample Applications</h2>
- <p>The NDK includes sample Android applications that illustrate how to use native code in your
- Android applications. For more information, see <a href=
- "{@docRoot}tools/sdk/ndk/overview.html#samples">Sample Applications</a>.</p>
- <h2 id="forum">Discussion Forum and Mailing List</h2>
+ <h4 id="native-activity">Exploring the native-activity Sample Application</h4>
- <p>If you have questions about the NDK or would like to read or contribute to discussions about
- it, please visit the <a href="http://groups.google.com/group/android-ndk">android-ndk</a> group
- and mailing list.</p>
+ <p>The native-activity sample provided with the Android NDK demonstrates how to use the
+ android_native_app_glue static library. This static library makes creating a native activity
+ easier by providing you with an implementation that handles your callbacks in another thread, so
+ you do not have to worry about them blocking your main UI thread. The main parts of the sample
+ are described below:</p>
+
+ <ul>
+ <li>The familiar basic structure of an Android application (an <code>AndroidManifest.xml</code>
+ file, a <code>src/</code> and <code>res</code> directories). The AndroidManifest.xml declares
+ that the application is native and specifies the .so file of the native activity. See {@link
+ android.app.NativeActivity} for the source or see the
+ <code><ndk_root>/platforms/samples/native-activity/AndroidManifest.xml</code> file.</li>
+
+ <li>A <code>jni/</code> directory contains the native activity, main.c, which uses the
+ <code>android_native_app_glue.h</code> interface to implement the activity. The Android.mk that
+ describes the native module to the build system also exists here.</li>
+ </ul>
+
+ <p>To build this sample application:</p>
+
+ <ol>
+ <li>Create a new project in Eclipse from the existing sample source or use the
+ <code>android</code> tool to update the project so it generates a build.xml file that you can
+ use to build the sample.
+
+ <ul>
+ <li>In Eclipse:
+
+ <ol type="a">
+ <li>Click <strong>File > New Android Project...</strong></li>
+
+ <li>Select the <strong>Create project from existing source</strong> radio button.</li>
+
+ <li>Select any API level above Android 2.3.</li>
+
+ <li>In the <strong>Location</strong> field, click <strong>Browse...</strong> and select
+ the <code><ndk-root>/samples/native-activity</code> directory.</li>
+
+ <li>Click <strong>Finish</strong>.</li>
+ </ol>
+ </li>
+
+ <li>On the command line:
+
+ <ol type="a">
+ <li>Change to the <code><ndk-root>/samples/native-activity</code> directory.</li>
+
+ <li>Run the following command to generate a build.xml file:
+ <pre class="no-pretty-print">
+android update project -p . -s
+</pre>
+ </li>
+ </ol>
+ </li>
+ </ul>
+ </li>
+
+ <li>Compile the native code using the <code>ndk-build</code> command.
+ <pre class="no-pretty-print">
+cd <ndk-root>/platforms/samples/android-9/samples/native-activity
+<ndk_root>/ndk-build
+</pre>
+ </li>
+
+ <li>Build and install the application as you would a normal Android application. If you are
+ using Eclipse, run the application to build and install it on a device. If you are using Ant,
+ run the following commands in the project directory, then run the application on the device:
+ <pre class="no-pretty-print">
+ant debug
+adb install bin/NativeActivity-debug.apk
+</pre>
+ </li>
+ </ol>
diff --git a/docs/html/tools/tools_toc.cs b/docs/html/tools/tools_toc.cs
index 27fbd2d..5136377 100644
--- a/docs/html/tools/tools_toc.cs
+++ b/docs/html/tools/tools_toc.cs
@@ -25,6 +25,8 @@
</li>
<li><a href="<?cs var:toroot ?>sdk/exploring.html">
<span class="en">Exploring the SDK</span></a></li>
+ <li><a href="<?cs var:toroot ?>tools/sdk/ndk/index.html">NDK</a>
+ </li>
</ul>
</li>
@@ -169,15 +171,6 @@
<!--
<li><a href="<?cs var:toroot ?>tools/sdk/addons.html"><span class="en">Add-ons</span></a></li>
-->
- <li class="nav-section">
- <div class="nav-section-header">
- <a href="<?cs var:toroot ?>tools/sdk/ndk/index.html">
- <span class="en">NDK</span></a>
- </div>
- <ul>
- <li><a href="<?cs var:toroot ?>tools/sdk/ndk/overview.html">What is the NDK?</a></li>
- </ul>
- </li>
<li><a href="<?cs var:toroot ?>tools/revisions/platforms.html"><span
class="en">Platforms</span></a></li>
</ul>
diff --git a/media/java/android/media/MediaCodec.java b/media/java/android/media/MediaCodec.java
index 2debd57..fcb676d 100644
--- a/media/java/android/media/MediaCodec.java
+++ b/media/java/android/media/MediaCodec.java
@@ -159,6 +159,22 @@
/**
* Instantiate a decoder supporting input data of the given mime type.
+ *
+ * The following is a partial list of defined mime types and their semantics:
+ * <ul>
+ * <li>"video/x-vnd.on2.vp8" - VPX video (i.e. video in .webm)
+ * <li>"video/avc" - H.264/AVC video
+ * <li>"video/mp4v-es" - MPEG4 video
+ * <li>"video/3gpp" - H.263 video
+ * <li>"audio/3gpp" - AMR narrowband audio
+ * <li>"audio/amr-wb" - AMR wideband audio
+ * <li>"audio/mpeg" - MPEG1/2 audio layer III
+ * <li>"audio/mp4a-latm" - AAC audio
+ * <li>"audio/vorbis" - vorbis audio
+ * <li>"audio/g711-alaw" - G.711 alaw audio
+ * <li>"audio/g711-mlaw" - G.711 ulaw audio
+ * </ul>
+ *
* @param type The mime type of the input data.
*/
public static MediaCodec createDecoderByType(String type) {
diff --git a/packages/SettingsProvider/src/com/android/providers/settings/DatabaseHelper.java b/packages/SettingsProvider/src/com/android/providers/settings/DatabaseHelper.java
index b0939de..2594167 100644
--- a/packages/SettingsProvider/src/com/android/providers/settings/DatabaseHelper.java
+++ b/packages/SettingsProvider/src/com/android/providers/settings/DatabaseHelper.java
@@ -63,7 +63,7 @@
// database gets upgraded properly. At a minimum, please confirm that 'upgradeVersion'
// is properly propagated through your change. Not doing so will result in a loss of user
// settings.
- private static final int DATABASE_VERSION = 78;
+ private static final int DATABASE_VERSION = 79;
private Context mContext;
@@ -1054,6 +1054,23 @@
upgradeVersion = 78;
}
+ if (upgradeVersion == 78) {
+ // The JavaScript based screen-reader URL changes in JellyBean.
+ db.beginTransaction();
+ SQLiteStatement stmt = null;
+ try {
+ stmt = db.compileStatement("INSERT OR REPLACE INTO secure(name,value)"
+ + " VALUES(?,?);");
+ loadStringSetting(stmt, Settings.Secure.ACCESSIBILITY_SCREEN_READER_URL,
+ R.string.def_accessibility_screen_reader_url);
+ db.setTransactionSuccessful();
+ } finally {
+ db.endTransaction();
+ if (stmt != null) stmt.close();
+ }
+ upgradeVersion = 79;
+ }
+
// *** Remember to update DATABASE_VERSION above!
if (upgradeVersion != currentVersion) {
diff --git a/packages/SystemUI/res/layout/system_bar.xml b/packages/SystemUI/res/layout/system_bar.xml
index a33d638..c13b113 100644
--- a/packages/SystemUI/res/layout/system_bar.xml
+++ b/packages/SystemUI/res/layout/system_bar.xml
@@ -103,7 +103,7 @@
<FrameLayout
android:id="@+id/bar_shadow_holder"
android:layout_width="match_parent"
- android:layout_height="@*android:dimen/status_bar_height"
+ android:layout_height="@*android:dimen/system_bar_height"
android:layout_gravity="bottom"
>
<!-- lights out shade -->
diff --git a/packages/SystemUI/src/com/android/systemui/screenshot/GlobalScreenshot.java b/packages/SystemUI/src/com/android/systemui/screenshot/GlobalScreenshot.java
index c09e4c4..9448bbf 100644
--- a/packages/SystemUI/src/com/android/systemui/screenshot/GlobalScreenshot.java
+++ b/packages/SystemUI/src/com/android/systemui/screenshot/GlobalScreenshot.java
@@ -190,8 +190,7 @@
sharingIntent.putExtra(Intent.EXTRA_STREAM, uri);
Intent chooserIntent = Intent.createChooser(sharingIntent, null);
- chooserIntent.addFlags(Intent.FLAG_ACTIVITY_CLOSE_SYSTEM_DIALOGS
- | Intent.FLAG_ACTIVITY_CLEAR_TASK
+ chooserIntent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TASK
| Intent.FLAG_ACTIVITY_NEW_TASK);
mNotificationBuilder.addAction(R.drawable.ic_menu_share,
diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/BaseStatusBar.java b/packages/SystemUI/src/com/android/systemui/statusbar/BaseStatusBar.java
index a3ec6c3..04cff96 100644
--- a/packages/SystemUI/src/com/android/systemui/statusbar/BaseStatusBar.java
+++ b/packages/SystemUI/src/com/android/systemui/statusbar/BaseStatusBar.java
@@ -65,6 +65,7 @@
import com.android.systemui.recent.RecentTasksLoader;
import com.android.systemui.recent.TaskDescription;
import com.android.systemui.statusbar.CommandQueue;
+import com.android.systemui.statusbar.NotificationData.Entry;
import com.android.systemui.statusbar.policy.NotificationRowLayout;
import com.android.systemui.statusbar.tablet.StatusBarPanel;
@@ -154,6 +155,35 @@
}
};
+ private RemoteViews.OnClickHandler mOnClickHandler = new RemoteViews.OnClickHandler() {
+ @Override
+ public boolean onClickHandler(View view, PendingIntent pendingIntent, Intent fillInIntent) {
+ final boolean isActivity = pendingIntent.isActivity();
+ if (isActivity) {
+ try {
+ // The intent we are sending is for the application, which
+ // won't have permission to immediately start an activity after
+ // the user switches to home. We know it is safe to do at this
+ // point, so make sure new activity switches are now allowed.
+ ActivityManagerNative.getDefault().resumeAppSwitches();
+ // Also, notifications can be launched from the lock screen,
+ // so dismiss the lock screen when the activity starts.
+ ActivityManagerNative.getDefault().dismissKeyguardOnNextActivity();
+ } catch (RemoteException e) {
+ }
+ }
+
+ boolean handled = super.onClickHandler(view, pendingIntent, fillInIntent);
+
+ if (isActivity && handled) {
+ // close the shade if it was open
+ animateCollapse(CommandQueue.FLAG_EXCLUDE_NONE);
+ visibilityChanged(false);
+ }
+ return handled;
+ }
+ };
+
public void start() {
mDisplay = ((WindowManager)mContext.getSystemService(Context.WINDOW_SERVICE))
.getDefaultDisplay();
@@ -547,8 +577,10 @@
View expandedLarge = null;
Exception exception = null;
try {
+ oneU.setOnClickHandler(mOnClickHandler);
expandedOneU = oneU.apply(mContext, adaptive);
if (large != null) {
+ large.setOnClickHandler(mOnClickHandler);
expandedLarge = large.apply(mContext, adaptive);
}
}
@@ -904,4 +936,21 @@
}
}
}
+
+ // Q: What kinds of notifications should show during setup?
+ // A: Almost none! Only things coming from the system (package is "android") that also
+ // have special "kind" tags marking them as relevant for setup (see below).
+ protected boolean showNotificationEvenIfUnprovisioned(StatusBarNotification sbn) {
+ if ("android".equals(sbn.pkg)) {
+ if (sbn.notification.kind != null) {
+ for (String aKind : sbn.notification.kind) {
+ // IME switcher, created by InputMethodManagerService
+ if ("android.system.imeswitcher".equals(aKind)) return true;
+ // OTA availability & errors, created by SystemUpdateService
+ if ("android.system.update".equals(aKind)) return true;
+ }
+ }
+ }
+ return false;
+ }
}
diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/phone/PhoneStatusBar.java b/packages/SystemUI/src/com/android/systemui/statusbar/phone/PhoneStatusBar.java
index 3c19ad2..eff6061 100644
--- a/packages/SystemUI/src/com/android/systemui/statusbar/phone/PhoneStatusBar.java
+++ b/packages/SystemUI/src/com/android/systemui/statusbar/phone/PhoneStatusBar.java
@@ -821,23 +821,6 @@
R.integer.config_show_search_delay);
}
- // Q: What kinds of notifications should show during setup?
- // A: Almost none! Only things coming from the system (package is "android") that also
- // have special "kind" tags marking them as relevant for setup (see below).
- private boolean showNotificationEvenIfUnprovisioned(StatusBarNotification sbn) {
- if ("android".equals(sbn.pkg)) {
- if (sbn.notification.kind != null) {
- for (String aKind : sbn.notification.kind) {
- // IME switcher, created by InputMethodManagerService
- if ("android.system.imeswitcher".equals(aKind)) return true;
- // OTA availability & errors, created by SystemUpdateService
- if ("android.system.update".equals(aKind)) return true;
- }
- }
- }
- return false;
- }
-
private void loadNotificationShade() {
if (mPile == null) return;
diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/tablet/NotificationPanel.java b/packages/SystemUI/src/com/android/systemui/statusbar/tablet/NotificationPanel.java
index af0f9d3..fdbfb65 100644
--- a/packages/SystemUI/src/com/android/systemui/statusbar/tablet/NotificationPanel.java
+++ b/packages/SystemUI/src/com/android/systemui/statusbar/tablet/NotificationPanel.java
@@ -217,7 +217,7 @@
*/
public void onClick(View v) {
- if (v == mTitleArea) {
+ if (mSettingsButton.isEnabled() && v == mTitleArea) {
swapPanels();
}
}
@@ -280,7 +280,7 @@
public void updatePanelModeButtons() {
final boolean settingsVisible = (mSettingsView != null);
- mSettingsButton.setVisibility(!settingsVisible ? View.VISIBLE : View.GONE);
+ mSettingsButton.setVisibility(!settingsVisible && mSettingsButton.isEnabled() ? View.VISIBLE : View.GONE);
mNotificationButton.setVisibility(settingsVisible ? View.VISIBLE : View.GONE);
}
@@ -421,5 +421,12 @@
super.onTouchEvent(ev);
return handled;
}
+
+ public void setSettingsEnabled(boolean settingsEnabled) {
+ if (mSettingsButton != null) {
+ mSettingsButton.setEnabled(settingsEnabled);
+ mSettingsButton.setVisibility(settingsEnabled ? View.VISIBLE : View.GONE);
+ }
+ }
}
diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/tablet/NotificationPanelTitle.java b/packages/SystemUI/src/com/android/systemui/statusbar/tablet/NotificationPanelTitle.java
index 00cf3c5..d180ab9 100644
--- a/packages/SystemUI/src/com/android/systemui/statusbar/tablet/NotificationPanelTitle.java
+++ b/packages/SystemUI/src/com/android/systemui/statusbar/tablet/NotificationPanelTitle.java
@@ -32,7 +32,7 @@
public class NotificationPanelTitle extends RelativeLayout implements View.OnClickListener {
private NotificationPanel mPanel;
private ArrayList<View> buttons;
- private View mNotificationsButton;
+ private View mSettingsButton;
public NotificationPanelTitle(Context context, AttributeSet attrs) {
super(context, attrs);
@@ -47,7 +47,7 @@
@Override
public void onFinishInflate() {
super.onFinishInflate();
- buttons.add(findViewById(R.id.settings_button));
+ buttons.add(mSettingsButton = findViewById(R.id.settings_button));
buttons.add(findViewById(R.id.notification_button));
}
@@ -63,6 +63,8 @@
@Override
public boolean onTouchEvent(MotionEvent e) {
+ if (!mSettingsButton.isEnabled())
+ return false;
switch (e.getAction()) {
case MotionEvent.ACTION_DOWN:
setPressed(true);
@@ -88,7 +90,7 @@
@Override
public void onClick(View v) {
- if (v == this) {
+ if (mSettingsButton.isEnabled() && v == this) {
mPanel.swapPanels();
}
}
diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/tablet/TabletStatusBar.java b/packages/SystemUI/src/com/android/systemui/statusbar/tablet/TabletStatusBar.java
index 9b46af8..29d8c98 100644
--- a/packages/SystemUI/src/com/android/systemui/statusbar/tablet/TabletStatusBar.java
+++ b/packages/SystemUI/src/com/android/systemui/statusbar/tablet/TabletStatusBar.java
@@ -1235,7 +1235,7 @@
@Override
protected void setAreThereNotifications() {
if (mNotificationPanel != null) {
- mNotificationPanel.setClearable(mNotificationData.hasClearableItems());
+ mNotificationPanel.setClearable(isDeviceProvisioned() && mNotificationData.hasClearableItems());
}
}
@@ -1533,10 +1533,13 @@
if (mInputMethodSwitchButton.getVisibility() != View.GONE) maxNotificationIconsCount --;
if (mCompatModeButton.getVisibility() != View.GONE) maxNotificationIconsCount --;
+ final boolean provisioned = isDeviceProvisioned();
+ // If the device hasn't been through Setup, we only show system notifications
for (int i=0; toShow.size()< maxNotificationIconsCount; i++) {
if (i >= N) break;
Entry ent = mNotificationData.get(N-i-1);
- if (ent.notification.score >= HIDE_ICONS_BELOW_SCORE) {
+ if ((provisioned && ent.notification.score >= HIDE_ICONS_BELOW_SCORE)
+ || showNotificationEvenIfUnprovisioned(ent.notification)) {
toShow.add(ent.icon);
}
}
@@ -1567,9 +1570,13 @@
ArrayList<View> toShow = new ArrayList<View>();
+ final boolean provisioned = isDeviceProvisioned();
+ // If the device hasn't been through Setup, we only show system notifications
for (int i=0; i<N; i++) {
- View row = mNotificationData.get(N-i-1).row;
- toShow.add(row);
+ Entry ent = mNotificationData.get(N-i-1);
+ if (provisioned || showNotificationEvenIfUnprovisioned(ent.notification)) {
+ toShow.add(ent.row);
+ }
}
ArrayList<View> toRemove = new ArrayList<View>();
@@ -1588,11 +1595,12 @@
View v = toShow.get(i);
if (v.getParent() == null) {
// the notification panel has the most important things at the bottom
- mPile.addView(v, N-1-i);
+ mPile.addView(v, Math.min(toShow.size()-1-i, mPile.getChildCount()));
}
}
- mNotificationPanel.setNotificationCount(N);
+ mNotificationPanel.setNotificationCount(toShow.size());
+ mNotificationPanel.setSettingsEnabled(isDeviceProvisioned());
}
@Override
diff --git a/policy/src/com/android/internal/policy/impl/PhoneWindowManager.java b/policy/src/com/android/internal/policy/impl/PhoneWindowManager.java
index 756a3df..25da642 100755
--- a/policy/src/com/android/internal/policy/impl/PhoneWindowManager.java
+++ b/policy/src/com/android/internal/policy/impl/PhoneWindowManager.java
@@ -65,7 +65,6 @@
import com.android.internal.widget.PointerLocationView;
import android.service.dreams.IDreamManager;
-import android.speech.RecognizerIntent;
import android.util.DisplayMetrics;
import android.util.EventLog;
import android.util.Log;
@@ -160,6 +159,7 @@
static final boolean localLOGV = false;
static final boolean DEBUG_LAYOUT = false;
static final boolean DEBUG_INPUT = false;
+ static final boolean DEBUG_STARTING_WINDOW = false;
static final boolean SHOW_STARTING_ANIMATIONS = true;
static final boolean SHOW_PROCESSES_ON_ALT_MENU = false;
@@ -279,6 +279,7 @@
WindowManagerFuncs mWindowManagerFuncs;
LocalPowerManager mPowerManager;
IStatusBarService mStatusBarService;
+ final Object mServiceAquireLock = new Object();
Vibrator mVibrator; // Vibrator for giving feedback of orientation changes
SearchManager mSearchManager;
@@ -597,6 +598,16 @@
}
MyOrientationListener mOrientationListener;
+ IStatusBarService getStatusBarService() {
+ synchronized (mServiceAquireLock) {
+ if (mStatusBarService == null) {
+ mStatusBarService = IStatusBarService.Stub.asInterface(
+ ServiceManager.getService("statusbar"));
+ }
+ return mStatusBarService;
+ }
+ }
+
/*
* We always let the sensor be switched on by default except when
* the user has explicitly disabled sensor based rotation or when the
@@ -790,9 +801,14 @@
showOrHideRecentAppsDialog(RECENT_APPS_BEHAVIOR_SHOW_OR_DISMISS);
} else if (mLongPressOnHomeBehavior == LONG_PRESS_HOME_RECENT_SYSTEM_UI) {
try {
- mStatusBarService.toggleRecentApps();
+ IStatusBarService statusbar = getStatusBarService();
+ if (statusbar != null) {
+ statusbar.toggleRecentApps();
+ }
} catch (RemoteException e) {
Slog.e(TAG, "RemoteException when showing recent apps", e);
+ // re-acquire status bar service next time it is needed.
+ mStatusBarService = null;
}
}
}
@@ -1454,8 +1470,9 @@
try {
Context context = mContext;
- //Log.i(TAG, "addStartingWindow " + packageName + ": nonLocalizedLabel="
- // + nonLocalizedLabel + " theme=" + Integer.toHexString(theme));
+ if (DEBUG_STARTING_WINDOW) Slog.d(TAG, "addStartingWindow " + packageName
+ + ": nonLocalizedLabel=" + nonLocalizedLabel + " theme="
+ + Integer.toHexString(theme));
if (theme != context.getThemeResId() || labelRes != 0) {
try {
context = context.createPackageContext(packageName, 0);
@@ -1522,7 +1539,7 @@
return null;
}
- if (localLOGV) Log.v(
+ if (DEBUG_STARTING_WINDOW) Slog.d(
TAG, "Adding starting window for " + packageName
+ " / " + appToken + ": "
+ (view.getParent() != null ? view : null));
@@ -1547,11 +1564,11 @@
/** {@inheritDoc} */
public void removeStartingWindow(IBinder appToken, View window) {
- // RuntimeException e = new RuntimeException();
- // Log.i(TAG, "remove " + appToken + " " + window, e);
-
- if (localLOGV) Log.v(
- TAG, "Removing starting window for " + appToken + ": " + window);
+ if (DEBUG_STARTING_WINDOW) {
+ RuntimeException e = new RuntimeException("here");
+ e.fillInStackTrace();
+ Log.v(TAG, "Removing starting window for " + appToken + ": " + window, e);
+ }
if (window != null) {
WindowManager wm = (WindowManager)mContext.getSystemService(Context.WINDOW_SERVICE);
@@ -1751,9 +1768,14 @@
mHomeLongPressed = false;
if (!homeWasLongPressed) {
try {
- mStatusBarService.cancelPreloadRecentApps();
+ IStatusBarService statusbar = getStatusBarService();
+ if (statusbar != null) {
+ statusbar.cancelPreloadRecentApps();
+ }
} catch (RemoteException e) {
Slog.e(TAG, "RemoteException when showing recent apps", e);
+ // re-acquire status bar service next time it is needed.
+ mStatusBarService = null;
}
mHomePressed = false;
@@ -1804,9 +1826,14 @@
if (down) {
if (!mHomePressed && mLongPressOnHomeBehavior == LONG_PRESS_HOME_RECENT_SYSTEM_UI) {
try {
- mStatusBarService.preloadRecentApps();
+ IStatusBarService statusbar = getStatusBarService();
+ if (statusbar != null) {
+ statusbar.preloadRecentApps();
+ }
} catch (RemoteException e) {
Slog.e(TAG, "RemoteException when preloading recent apps", e);
+ // re-acquire status bar service next time it is needed.
+ mStatusBarService = null;
}
}
if (repeatCount == 0) {
@@ -2901,10 +2928,14 @@
changes |= FINISH_LAYOUT_REDO_LAYOUT;
mHandler.post(new Runnable() { public void run() {
- if (mStatusBarService != null) {
- try {
- mStatusBarService.collapse();
- } catch (RemoteException ex) {}
+ try {
+ IStatusBarService statusbar = getStatusBarService();
+ if (statusbar != null) {
+ statusbar.collapse();
+ }
+ } catch (RemoteException ex) {
+ // re-acquire status bar service next time it is needed.
+ mStatusBarService = null;
}
}});
} else if (DEBUG_LAYOUT) {
@@ -4342,18 +4373,15 @@
mFocusedApp = mFocusedWindow.getAppToken();
mHandler.post(new Runnable() {
public void run() {
- if (mStatusBarService == null) {
- mStatusBarService = IStatusBarService.Stub.asInterface(
- ServiceManager.getService("statusbar"));
- }
- if (mStatusBarService != null) {
- try {
- mStatusBarService.setSystemUiVisibility(visibility, 0xffffffff);
- mStatusBarService.topAppWindowChanged(needsMenu);
- } catch (RemoteException e) {
- // not much to be done
- mStatusBarService = null;
+ try {
+ IStatusBarService statusbar = getStatusBarService();
+ if (statusbar != null) {
+ statusbar.setSystemUiVisibility(visibility, 0xffffffff);
+ statusbar.topAppWindowChanged(needsMenu);
}
+ } catch (RemoteException e) {
+ // re-acquire status bar service next time it is needed.
+ mStatusBarService = null;
}
}
});
diff --git a/services/java/com/android/server/DevicePolicyManagerService.java b/services/java/com/android/server/DevicePolicyManagerService.java
index 0f5ad66..7609613 100644
--- a/services/java/com/android/server/DevicePolicyManagerService.java
+++ b/services/java/com/android/server/DevicePolicyManagerService.java
@@ -2118,16 +2118,6 @@
}
pw.println(" ");
- pw.print(" mActivePasswordQuality=0x");
- pw.println(Integer.toHexString(mActivePasswordQuality));
- pw.print(" mActivePasswordLength="); pw.println(mActivePasswordLength);
- pw.print(" mActivePasswordUpperCase="); pw.println(mActivePasswordUpperCase);
- pw.print(" mActivePasswordLowerCase="); pw.println(mActivePasswordLowerCase);
- pw.print(" mActivePasswordLetters="); pw.println(mActivePasswordLetters);
- pw.print(" mActivePasswordNumeric="); pw.println(mActivePasswordNumeric);
- pw.print(" mActivePasswordSymbols="); pw.println(mActivePasswordSymbols);
- pw.print(" mActivePasswordNonLetter="); pw.println(mActivePasswordNonLetter);
- pw.print(" mFailedPasswordAttempts="); pw.println(mFailedPasswordAttempts);
pw.print(" mPasswordOwner="); pw.println(mPasswordOwner);
}
}
diff --git a/services/java/com/android/server/SystemServer.java b/services/java/com/android/server/SystemServer.java
index eaecd4c..9dd4a91 100644
--- a/services/java/com/android/server/SystemServer.java
+++ b/services/java/com/android/server/SystemServer.java
@@ -229,7 +229,7 @@
Slog.i(TAG, "Window Manager");
wm = WindowManagerService.main(context, power,
factoryTest != SystemServer.FACTORY_TEST_LOW_LEVEL,
- !firstBoot);
+ !firstBoot, onlyCore);
ServiceManager.addService(Context.WINDOW_SERVICE, wm);
inputManager = wm.getInputManagerService();
ServiceManager.addService(Context.INPUT_SERVICE, inputManager);
diff --git a/services/java/com/android/server/am/ActivityManagerService.java b/services/java/com/android/server/am/ActivityManagerService.java
index 63455ee..f482552 100644
--- a/services/java/com/android/server/am/ActivityManagerService.java
+++ b/services/java/com/android/server/am/ActivityManagerService.java
@@ -3577,8 +3577,7 @@
for (int i=mMainStack.mHistory.size()-1; i>=0; i--) {
ActivityRecord r = (ActivityRecord)mMainStack.mHistory.get(i);
- if ((r.info.flags&ActivityInfo.FLAG_FINISH_ON_CLOSE_SYSTEM_DIALOGS) != 0
- && (r.intent.getFlags()&Intent.FLAG_ACTIVITY_CLOSE_SYSTEM_DIALOGS) == 0) {
+ if ((r.info.flags&ActivityInfo.FLAG_FINISH_ON_CLOSE_SYSTEM_DIALOGS) != 0) {
r.stack.finishActivityLocked(r, i,
Activity.RESULT_CANCELED, null, "close-sys");
}
@@ -4573,6 +4572,21 @@
return false;
}
+ public boolean isIntentSenderAnActivity(IIntentSender pendingResult) {
+ if (!(pendingResult instanceof PendingIntentRecord)) {
+ return false;
+ }
+ try {
+ PendingIntentRecord res = (PendingIntentRecord)pendingResult;
+ if (res.key.type == ActivityManager.INTENT_SENDER_ACTIVITY) {
+ return true;
+ }
+ return false;
+ } catch (ClassCastException e) {
+ }
+ return false;
+ }
+
public void setProcessLimit(int max) {
enforceCallingPermission(android.Manifest.permission.SET_PROCESS_LIMIT,
"setProcessLimit()");
diff --git a/services/java/com/android/server/am/ActivityStack.java b/services/java/com/android/server/am/ActivityStack.java
index e2d6d98..b276494 100755
--- a/services/java/com/android/server/am/ActivityStack.java
+++ b/services/java/com/android/server/am/ActivityStack.java
@@ -1129,6 +1129,11 @@
resumeTopActivityLocked(prev);
} else {
checkReadyForSleepLocked();
+ if (topRunningActivityLocked(null) == null) {
+ // If there are no more activities available to run, then
+ // do resume anyway to start something.
+ resumeTopActivityLocked(null);
+ }
}
if (prev != null) {
@@ -2559,10 +2564,6 @@
mDismissKeyguardOnNextActivity = false;
mService.mWindowManager.dismissKeyguard();
}
- if (err >= ActivityManager.START_SUCCESS &&
- (launchFlags&Intent.FLAG_ACTIVITY_CLOSE_SYSTEM_DIALOGS) != 0) {
- mService.closeSystemDialogsLocked(Process.myUid(), "launch");
- }
return err;
}
@@ -3413,6 +3414,7 @@
IApplicationThread sendThumbnail = null;
boolean booting = false;
boolean enableScreen = false;
+ boolean activityRemoved = false;
synchronized (mService) {
ActivityRecord r = ActivityRecord.forToken(token);
@@ -3519,7 +3521,7 @@
for (i=0; i<NF; i++) {
ActivityRecord r = (ActivityRecord)finishes.get(i);
synchronized (mService) {
- destroyActivityLocked(r, true, false, "finish-idle");
+ activityRemoved = destroyActivityLocked(r, true, false, "finish-idle");
}
}
@@ -3541,6 +3543,10 @@
mService.enableScreenAfterBoot();
}
+ if (activityRemoved) {
+ resumeTopActivityLocked(null);
+ }
+
return res;
}
@@ -3780,7 +3786,11 @@
|| prevState == ActivityState.INITIALIZING) {
// If this activity is already stopped, we can just finish
// it right now.
- return destroyActivityLocked(r, true, true, "finish-imm") ? null : r;
+ boolean activityRemoved = destroyActivityLocked(r, true, true, "finish-imm");
+ if (activityRemoved) {
+ resumeTopActivityLocked(null);
+ }
+ return activityRemoved ? null : r;
} else {
// Need to go through the full pause cycle to get this
// activity into the stopped state and then finish it.
@@ -3844,6 +3854,10 @@
}
// Get rid of any pending idle timeouts.
+ removeTimeoutsForActivityLocked(r);
+ }
+
+ private void removeTimeoutsForActivityLocked(ActivityRecord r) {
mHandler.removeMessages(PAUSE_TIMEOUT_MSG, r);
mHandler.removeMessages(STOP_TIMEOUT_MSG, r);
mHandler.removeMessages(IDLE_TIMEOUT_MSG, r);
@@ -3897,6 +3911,7 @@
final void destroyActivitiesLocked(ProcessRecord owner, boolean oomAdj, String reason) {
boolean lastIsOpaque = false;
+ boolean activityRemoved = false;
for (int i=mHistory.size()-1; i>=0; i--) {
ActivityRecord r = mHistory.get(i);
if (r.finishing) {
@@ -3920,9 +3935,14 @@
if (DEBUG_SWITCH) Slog.v(TAG, "Destroying " + r + " in state " + r.state
+ " resumed=" + mResumedActivity
+ " pausing=" + mPausingActivity);
- destroyActivityLocked(r, true, oomAdj, reason);
+ if (destroyActivityLocked(r, true, oomAdj, reason)) {
+ activityRemoved = true;
+ }
}
}
+ if (activityRemoved) {
+ resumeTopActivityLocked(null);
+ }
}
/**
@@ -4027,23 +4047,28 @@
final void activityDestroyed(IBinder token) {
synchronized (mService) {
- ActivityRecord r = ActivityRecord.forToken(token);
- if (r != null) {
- mHandler.removeMessages(DESTROY_TIMEOUT_MSG, r);
- }
-
- int index = indexOfActivityLocked(r);
- if (index >= 0) {
- if (r.state == ActivityState.DESTROYING) {
- final long origId = Binder.clearCallingIdentity();
- removeActivityFromHistoryLocked(r);
- Binder.restoreCallingIdentity(origId);
+ final long origId = Binder.clearCallingIdentity();
+ try {
+ ActivityRecord r = ActivityRecord.forToken(token);
+ if (r != null) {
+ mHandler.removeMessages(DESTROY_TIMEOUT_MSG, r);
}
+
+ int index = indexOfActivityLocked(r);
+ if (index >= 0) {
+ if (r.state == ActivityState.DESTROYING) {
+ cleanUpActivityLocked(r, true, true);
+ removeActivityFromHistoryLocked(r);
+ }
+ }
+ resumeTopActivityLocked(null);
+ } finally {
+ Binder.restoreCallingIdentity(origId);
}
}
}
- private static void removeHistoryRecordsForAppLocked(ArrayList list, ProcessRecord app) {
+ private void removeHistoryRecordsForAppLocked(ArrayList list, ProcessRecord app) {
int i = list.size();
if (localLOGV) Slog.v(
TAG, "Removing app " + app + " from list " + list
@@ -4056,6 +4081,7 @@
if (r.app == app) {
if (localLOGV) Slog.v(TAG, "Removing this entry!");
list.remove(i);
+ removeTimeoutsForActivityLocked(r);
}
}
}
diff --git a/services/java/com/android/server/pm/PackageManagerService.java b/services/java/com/android/server/pm/PackageManagerService.java
index 9a79f86..e20cd02 100644
--- a/services/java/com/android/server/pm/PackageManagerService.java
+++ b/services/java/com/android/server/pm/PackageManagerService.java
@@ -1087,7 +1087,8 @@
/*
* If the package is scanned, it's not erased.
*/
- if (mPackages.containsKey(ps.name)) {
+ final PackageParser.Package scannedPkg = mPackages.get(ps.name);
+ if (scannedPkg != null) {
/*
* If the system app is both scanned and in the
* disabled packages list, then it must have been
@@ -1096,7 +1097,9 @@
* application can be scanned.
*/
if (mSettings.isDisabledSystemPackageLPr(ps.name)) {
- mPackages.remove(ps.name);
+ Slog.i(TAG, "Expecting better updatd system app for " + ps.name
+ + "; removing system app");
+ removePackageLI(scannedPkg, true);
}
continue;
@@ -8626,6 +8629,10 @@
}
pw.print(" ["); pw.print(entry.getKey()); pw.println("]:");
pw.print(" "); pw.println(p.toString());
+ if (p.info != null && p.info.applicationInfo != null) {
+ final String appInfo = p.info.applicationInfo.toString();
+ pw.print(" applicationInfo="); pw.println(appInfo);
+ }
}
}
diff --git a/services/java/com/android/server/pm/Settings.java b/services/java/com/android/server/pm/Settings.java
index 91cd458..d031686 100644
--- a/services/java/com/android/server/pm/Settings.java
+++ b/services/java/com/android/server/pm/Settings.java
@@ -2459,6 +2459,7 @@
pw.print(" nativeLibraryPath="); pw.println(ps.nativeLibraryPathString);
pw.print(" versionCode="); pw.println(ps.versionCode);
if (ps.pkg != null) {
+ pw.print(" applicationInfo="); pw.println(ps.pkg.applicationInfo.toString());
pw.print(" flags="); printFlags(pw, ps.pkg.applicationInfo.flags, FLAG_DUMP_SPEC); pw.println();
pw.print(" versionName="); pw.println(ps.pkg.mVersionName);
pw.print(" dataDir="); pw.println(ps.pkg.applicationInfo.dataDir);
@@ -2592,6 +2593,10 @@
pw.print(" compat name=");
pw.println(ps.name);
}
+ if (ps.pkg != null && ps.pkg.applicationInfo != null) {
+ pw.print(" applicationInfo=");
+ pw.println(ps.pkg.applicationInfo.toString());
+ }
pw.print(" userId=");
pw.println(ps.appId);
pw.print(" sharedUser=");
diff --git a/services/java/com/android/server/wm/AppWindowAnimator.java b/services/java/com/android/server/wm/AppWindowAnimator.java
index 1953ad7..13e8bc5 100644
--- a/services/java/com/android/server/wm/AppWindowAnimator.java
+++ b/services/java/com/android/server/wm/AppWindowAnimator.java
@@ -35,6 +35,10 @@
// AppWindowToken animations.
int animLayerAdjustment;
+ // Propagated from AppWindowToken.allDrawn, to determine when
+ // the state changes.
+ boolean allDrawn;
+
// Special surface for thumbnail animation.
Surface thumbnail;
int thumbnailTransactionSeq;
diff --git a/services/java/com/android/server/wm/AppWindowToken.java b/services/java/com/android/server/wm/AppWindowToken.java
index bf35154..6ecbb8e 100644
--- a/services/java/com/android/server/wm/AppWindowToken.java
+++ b/services/java/com/android/server/wm/AppWindowToken.java
@@ -241,12 +241,18 @@
pw.print(prefix); pw.print("paused="); pw.println(paused);
}
if (numInterestingWindows != 0 || numDrawnWindows != 0
- || inPendingTransaction || allDrawn) {
+ || allDrawn || mAppAnimator.allDrawn) {
pw.print(prefix); pw.print("numInterestingWindows=");
pw.print(numInterestingWindows);
pw.print(" numDrawnWindows="); pw.print(numDrawnWindows);
pw.print(" inPendingTransaction="); pw.print(inPendingTransaction);
- pw.print(" allDrawn="); pw.println(allDrawn);
+ pw.print(" allDrawn="); pw.print(allDrawn);
+ pw.print(" (animator="); pw.print(mAppAnimator.allDrawn);
+ pw.println(")");
+ }
+ if (inPendingTransaction) {
+ pw.print(prefix); pw.print("inPendingTransaction=");
+ pw.println(inPendingTransaction);
}
if (startingData != null || removed || firstWindowDrawn) {
pw.print(prefix); pw.print("startingData="); pw.print(startingData);
diff --git a/services/java/com/android/server/wm/WindowAnimator.java b/services/java/com/android/server/wm/WindowAnimator.java
index 758b6e7..fdd8aab 100644
--- a/services/java/com/android/server/wm/WindowAnimator.java
+++ b/services/java/com/android/server/wm/WindowAnimator.java
@@ -38,7 +38,6 @@
ArrayList<WindowStateAnimator> mWinAnimators = new ArrayList<WindowStateAnimator>();
boolean mAnimating;
- boolean mTokenMayBeDrawn;
boolean mForceHiding;
WindowState mWindowAnimationBackground;
int mWindowAnimationBackgroundColor;
@@ -57,7 +56,7 @@
/** Skip repeated AppWindowTokens initialization. Note that AppWindowsToken's version of this
* is a long initialized to Long.MIN_VALUE so that it doesn't match this value on startup. */
- private int mTransactionSequence;
+ private int mAnimTransactionSequence;
/** The one and only screen rotation if one is happening */
ScreenRotationAnimation mScreenRotationAnimation = null;
@@ -194,7 +193,7 @@
}
private void updateWindowsAndWallpaperLocked() {
- ++mTransactionSequence;
+ ++mAnimTransactionSequence;
ArrayList<WindowStateAnimator> unForceHiding = null;
boolean wallpaperInUnForceHiding = false;
@@ -332,59 +331,22 @@
}
final AppWindowToken atoken = win.mAppToken;
- if (atoken != null && (!atoken.allDrawn || atoken.mAppAnimator.freezingScreen)) {
- if (atoken.lastTransactionSequence != mTransactionSequence) {
- atoken.lastTransactionSequence = mTransactionSequence;
- atoken.numInterestingWindows = atoken.numDrawnWindows = 0;
- atoken.startingDisplayed = false;
- }
- if ((win.isOnScreen() || winAnimator.mAttrType
- == WindowManager.LayoutParams.TYPE_BASE_APPLICATION)
- && !win.mExiting && !win.mDestroying) {
- if (WindowManagerService.DEBUG_VISIBILITY ||
- WindowManagerService.DEBUG_ORIENTATION) {
- Slog.v(TAG, "Eval win " + win + ": isDrawn=" + win.isDrawnLw()
- + ", isAnimating=" + winAnimator.isAnimating());
- if (!win.isDrawnLw()) {
- Slog.v(TAG, "Not displayed: s=" + winAnimator.mSurface
- + " pv=" + win.mPolicyVisibility
- + " mDrawState=" + winAnimator.mDrawState
- + " ah=" + win.mAttachedHidden
- + " th=" + atoken.hiddenRequested
- + " a=" + winAnimator.mAnimating);
+ if (winAnimator.mDrawState == WindowStateAnimator.READY_TO_SHOW) {
+ if (atoken == null || atoken.allDrawn) {
+ if (winAnimator.performShowLocked()) {
+ mPendingLayoutChanges |= WindowManagerPolicy.FINISH_LAYOUT_REDO_ANIM;
+ if (WindowManagerService.DEBUG_LAYOUT_REPEATS) {
+ mService.debugLayoutRepeats("updateWindowsAndWallpaperLocked 5",
+ mPendingLayoutChanges);
}
}
- if (win != atoken.startingWindow) {
- if (!atoken.mAppAnimator.freezingScreen || !win.mAppFreezing) {
- atoken.numInterestingWindows++;
- if (win.isDrawnLw()) {
- atoken.numDrawnWindows++;
- if (WindowManagerService.DEBUG_VISIBILITY ||
- WindowManagerService.DEBUG_ORIENTATION) Slog.v(TAG,
- "tokenMayBeDrawn: " + atoken
- + " freezingScreen=" + atoken.mAppAnimator.freezingScreen
- + " mAppFreezing=" + win.mAppFreezing);
- mTokenMayBeDrawn = true;
- }
- }
- } else if (win.isDrawnLw()) {
- atoken.startingDisplayed = true;
- }
- }
- } else if (winAnimator.mDrawState == WindowStateAnimator.READY_TO_SHOW) {
- if (winAnimator.performShowLocked()) {
- mPendingLayoutChanges |= WindowManagerPolicy.FINISH_LAYOUT_REDO_ANIM;
- if (WindowManagerService.DEBUG_LAYOUT_REPEATS) {
- mService.debugLayoutRepeats("updateWindowsAndWallpaperLocked 5",
- mPendingLayoutChanges);
- }
}
}
final AppWindowAnimator appAnimator =
atoken == null ? null : atoken.mAppAnimator;
if (appAnimator != null && appAnimator.thumbnail != null) {
- if (appAnimator.thumbnailTransactionSeq != mTransactionSequence) {
- appAnimator.thumbnailTransactionSeq = mTransactionSequence;
+ if (appAnimator.thumbnailTransactionSeq != mAnimTransactionSequence) {
+ appAnimator.thumbnailTransactionSeq = mAnimTransactionSequence;
appAnimator.thumbnailLayer = 0;
}
if (appAnimator.thumbnailLayer < winAnimator.mAnimLayer) {
@@ -414,39 +376,32 @@
final int NT = appTokens.size();
for (int i=0; i<NT; i++) {
AppWindowToken wtoken = appTokens.get(i);
- if (wtoken.mAppAnimator.freezingScreen) {
- int numInteresting = wtoken.numInterestingWindows;
- if (numInteresting > 0 && wtoken.numDrawnWindows >= numInteresting) {
- if (WindowManagerService.DEBUG_VISIBILITY) Slog.v(TAG,
- "allDrawn: " + wtoken
- + " interesting=" + numInteresting
- + " drawn=" + wtoken.numDrawnWindows);
- wtoken.mAppAnimator.showAllWindowsLocked();
- mService.unsetAppFreezingScreenLocked(wtoken, false, true);
- if (WindowManagerService.DEBUG_ORIENTATION) Slog.i(TAG,
- "Setting mOrientationChangeComplete=true because wtoken "
- + wtoken + " numInteresting=" + numInteresting
- + " numDrawn=" + wtoken.numDrawnWindows);
- // This will set mOrientationChangeComplete and cause a pass through layout.
- mPendingLayoutChanges |= WindowManagerPolicy.FINISH_LAYOUT_REDO_WALLPAPER;
- }
- } else if (!wtoken.allDrawn) {
- int numInteresting = wtoken.numInterestingWindows;
- if (numInteresting > 0 && wtoken.numDrawnWindows >= numInteresting) {
- if (WindowManagerService.DEBUG_VISIBILITY) Slog.v(TAG,
- "allDrawn: " + wtoken
- + " interesting=" + numInteresting
- + " drawn=" + wtoken.numDrawnWindows);
- wtoken.allDrawn = true;
- mPendingLayoutChanges |= PhoneWindowManager.FINISH_LAYOUT_REDO_ANIM;
- if (WindowManagerService.DEBUG_LAYOUT_REPEATS) {
- mService.debugLayoutRepeats("testTokenMayBeDrawnLocked",
- mPendingLayoutChanges);
- }
+ final boolean allDrawn = wtoken.allDrawn;
+ if (allDrawn != wtoken.mAppAnimator.allDrawn) {
+ wtoken.mAppAnimator.allDrawn = allDrawn;
+ if (allDrawn) {
+ // The token has now changed state to having all
+ // windows shown... what to do, what to do?
+ if (wtoken.mAppAnimator.freezingScreen) {
+ wtoken.mAppAnimator.showAllWindowsLocked();
+ mService.unsetAppFreezingScreenLocked(wtoken, false, true);
+ if (WindowManagerService.DEBUG_ORIENTATION) Slog.i(TAG,
+ "Setting mOrientationChangeComplete=true because wtoken "
+ + wtoken + " numInteresting=" + wtoken.numInterestingWindows
+ + " numDrawn=" + wtoken.numDrawnWindows);
+ // This will set mOrientationChangeComplete and cause a pass through layout.
+ mPendingLayoutChanges |= WindowManagerPolicy.FINISH_LAYOUT_REDO_WALLPAPER;
+ } else {
+ mPendingLayoutChanges |= PhoneWindowManager.FINISH_LAYOUT_REDO_ANIM;
+ if (WindowManagerService.DEBUG_LAYOUT_REPEATS) {
+ mService.debugLayoutRepeats("testTokenMayBeDrawnLocked",
+ mPendingLayoutChanges);
+ }
- // We can now show all of the drawn windows!
- if (!mService.mOpeningApps.contains(wtoken)) {
- mAnimating |= wtoken.mAppAnimator.showAllWindowsLocked();
+ // We can now show all of the drawn windows!
+ if (!mService.mOpeningApps.contains(wtoken)) {
+ mAnimating |= wtoken.mAppAnimator.showAllWindowsLocked();
+ }
}
}
}
@@ -454,7 +409,6 @@
}
private void performAnimationsLocked() {
- mTokenMayBeDrawn = false;
mForceHiding = false;
mDetachedWallpaper = null;
mWindowAnimationBackground = null;
@@ -465,9 +419,7 @@
mPendingActions |= WALLPAPER_ACTION_PENDING;
}
- if (mTokenMayBeDrawn) {
- testTokenMayBeDrawnLocked();
- }
+ testTokenMayBeDrawnLocked();
}
synchronized void animate() {
@@ -584,18 +536,23 @@
}
public void dump(PrintWriter pw, String prefix, boolean dumpAll) {
- if (mWindowDetachedWallpaper != null) {
- pw.print(" mWindowDetachedWallpaper="); pw.println(mWindowDetachedWallpaper);
- }
- if (mWindowAnimationBackgroundSurface != null) {
- pw.println(" mWindowAnimationBackgroundSurface:");
- mWindowAnimationBackgroundSurface.printTo(" ", pw);
- }
- if (mDimAnimator != null) {
- pw.println(" mDimAnimator:");
- mDimAnimator.printTo(" ", pw);
- } else {
- pw.println( " no DimAnimator ");
+ if (dumpAll) {
+ if (mWindowDetachedWallpaper != null) {
+ pw.print(prefix); pw.print("mWindowDetachedWallpaper=");
+ pw.println(mWindowDetachedWallpaper);
+ }
+ pw.print(prefix); pw.print("mAnimTransactionSequence=");
+ pw.println(mAnimTransactionSequence);
+ if (mWindowAnimationBackgroundSurface != null) {
+ pw.print(prefix); pw.print("mWindowAnimationBackgroundSurface:");
+ mWindowAnimationBackgroundSurface.printTo(prefix + " ", pw);
+ }
+ if (mDimAnimator != null) {
+ pw.print(prefix); pw.print("mDimAnimator:");
+ mDimAnimator.printTo(prefix + " ", pw);
+ } else {
+ pw.print(prefix); pw.print("no DimAnimator ");
+ }
}
}
diff --git a/services/java/com/android/server/wm/WindowManagerService.java b/services/java/com/android/server/wm/WindowManagerService.java
index 73bfe8e..c850bd2 100755
--- a/services/java/com/android/server/wm/WindowManagerService.java
+++ b/services/java/com/android/server/wm/WindowManagerService.java
@@ -96,6 +96,7 @@
import android.util.EventLog;
import android.util.FloatMath;
import android.util.Log;
+import android.util.LogPrinter;
import android.util.Pair;
import android.util.Slog;
import android.util.SparseIntArray;
@@ -642,6 +643,10 @@
}
LayoutFields mInnerFields = new LayoutFields();
+ /** Skip repeated AppWindowTokens initialization. Note that AppWindowsToken's version of this
+ * is a long initialized to Long.MIN_VALUE so that it doesn't match this value on startup. */
+ private int mTransactionSequence;
+
/** Only do a maximum of 6 repeated layouts. After that quit */
private int mLayoutRepeatCount;
@@ -758,9 +763,15 @@
// The desired scaling factor for compatible apps.
float mCompatibleScreenScale;
+ // If true, only the core apps and services are being launched because the device
+ // is in a special boot mode, such as being encrypted or waiting for a decryption password.
+ // For example, when this flag is true, there will be no wallpaper service.
+ final boolean mOnlyCore;
+
public static WindowManagerService main(Context context,
- PowerManagerService pm, boolean haveInputMethods, boolean allowBootMsgs) {
- WMThread thr = new WMThread(context, pm, haveInputMethods, allowBootMsgs);
+ PowerManagerService pm, boolean haveInputMethods, boolean allowBootMsgs,
+ boolean onlyCore) {
+ WMThread thr = new WMThread(context, pm, haveInputMethods, allowBootMsgs, onlyCore);
thr.start();
synchronized (thr) {
@@ -781,21 +792,25 @@
private final PowerManagerService mPM;
private final boolean mHaveInputMethods;
private final boolean mAllowBootMessages;
+ private final boolean mOnlyCore;
public WMThread(Context context, PowerManagerService pm,
- boolean haveInputMethods, boolean allowBootMsgs) {
+ boolean haveInputMethods, boolean allowBootMsgs, boolean onlyCore) {
super("WindowManager");
mContext = context;
mPM = pm;
mHaveInputMethods = haveInputMethods;
mAllowBootMessages = allowBootMsgs;
+ mOnlyCore = onlyCore;
}
@Override
public void run() {
Looper.prepare();
+ //Looper.myLooper().setMessageLogging(new LogPrinter(
+ // android.util.Log.DEBUG, TAG, android.util.Log.LOG_ID_SYSTEM));
WindowManagerService s = new WindowManagerService(mContext, mPM,
- mHaveInputMethods, mAllowBootMessages);
+ mHaveInputMethods, mAllowBootMessages, mOnlyCore);
android.os.Process.setThreadPriority(
android.os.Process.THREAD_PRIORITY_DISPLAY);
android.os.Process.setCanSelfBackground(false);
@@ -858,10 +873,11 @@
}
private WindowManagerService(Context context, PowerManagerService pm,
- boolean haveInputMethods, boolean showBootMsgs) {
+ boolean haveInputMethods, boolean showBootMsgs, boolean onlyCore) {
mContext = context;
mHaveInputMethods = haveInputMethods;
mAllowBootMessages = showBootMsgs;
+ mOnlyCore = onlyCore;
mLimitedAlphaCompositing = context.getResources().getBoolean(
com.android.internal.R.bool.config_sf_limitedAlpha);
mHeadless = "1".equals(SystemProperties.get(SYSTEM_HEADLESS, "0"));
@@ -3573,7 +3589,7 @@
public void setAppGroupId(IBinder token, int groupId) {
if (!checkCallingPermission(android.Manifest.permission.MANAGE_APP_TOKENS,
- "setAppStartingIcon()")) {
+ "setAppGroupId()")) {
throw new SecurityException("Requires MANAGE_APP_TOKENS permission");
}
@@ -3996,7 +4012,7 @@
CharSequence nonLocalizedLabel, int labelRes, int icon,
int windowFlags, IBinder transferFrom, boolean createIfNeeded) {
if (!checkCallingPermission(android.Manifest.permission.MANAGE_APP_TOKENS,
- "setAppStartingIcon()")) {
+ "setAppStartingWindow()")) {
throw new SecurityException("Requires MANAGE_APP_TOKENS permission");
}
@@ -4052,12 +4068,13 @@
startingWindow.mToken = wtoken;
startingWindow.mRootToken = wtoken;
startingWindow.mAppToken = wtoken;
- if (DEBUG_WINDOW_MOVEMENT || DEBUG_ADD_REMOVE) Slog.v(TAG,
- "Removing starting window: " + startingWindow);
+ if (DEBUG_WINDOW_MOVEMENT || DEBUG_ADD_REMOVE || DEBUG_STARTING_WINDOW) {
+ Slog.v(TAG, "Removing starting window: " + startingWindow);
+ }
mWindows.remove(startingWindow);
mWindowsChanged = true;
- if (DEBUG_ADD_REMOVE) Slog.v(TAG, "Removing starting " + startingWindow
- + " from " + ttoken);
+ if (DEBUG_ADD_REMOVE) Slog.v(TAG,
+ "Removing starting " + startingWindow + " from " + ttoken);
ttoken.windows.remove(startingWindow);
ttoken.allAppWindows.remove(startingWindow);
addWindowToListInOrderLocked(startingWindow, true);
@@ -4144,6 +4161,8 @@
// show a starting window -- the current effect (a full-screen
// opaque starting window that fades away to the real contents
// when it is ready) does not work for this.
+ if (DEBUG_STARTING_WINDOW) Slog.v(TAG, "Checking theme of starting window: 0x"
+ + Integer.toHexString(theme));
if (theme != 0) {
AttributeCache.Entry ent = AttributeCache.instance().get(pkg, theme,
com.android.internal.R.styleable.Window);
@@ -4152,6 +4171,15 @@
// pretend like we didn't see that.
return;
}
+ if (DEBUG_STARTING_WINDOW) Slog.v(TAG, "Translucent="
+ + ent.array.getBoolean(
+ com.android.internal.R.styleable.Window_windowIsTranslucent, false)
+ + " Floating="
+ + ent.array.getBoolean(
+ com.android.internal.R.styleable.Window_windowIsFloating, false)
+ + " ShowWallpaper="
+ + ent.array.getBoolean(
+ com.android.internal.R.styleable.Window_windowShowWallpaper, false));
if (ent.array.getBoolean(
com.android.internal.R.styleable.Window_windowIsTranslucent, false)) {
return;
@@ -4175,6 +4203,7 @@
}
}
+ if (DEBUG_STARTING_WINDOW) Slog.v(TAG, "Creating StartingData");
mStartingIconInTransition = true;
wtoken.startingData = new StartingData(pkg, theme, compatInfo, nonLocalizedLabel,
labelRes, icon, windowFlags);
@@ -4182,6 +4211,7 @@
// Note: we really want to do sendMessageAtFrontOfQueue() because we
// want to process the message ASAP, before any other queued
// messages.
+ if (DEBUG_STARTING_WINDOW) Slog.v(TAG, "Enqueueing ADD_STARTING");
mH.sendMessageAtFrontOfQueue(m);
}
}
@@ -5191,7 +5221,8 @@
Slog.i(TAG, "performEnableScreen: mDisplayEnabled=" + mDisplayEnabled
+ " mForceDisplayEnabled=" + mForceDisplayEnabled
+ " mShowingBootMessages=" + mShowingBootMessages
- + " mSystemBooted=" + mSystemBooted, here);
+ + " mSystemBooted=" + mSystemBooted
+ + " mOnlyCore=" + mOnlyCore, here);
}
if (mDisplayEnabled) {
return;
@@ -5209,7 +5240,8 @@
// wallpaper, don't bother waiting for it
boolean haveWallpaper = false;
boolean wallpaperEnabled = mContext.getResources().getBoolean(
- com.android.internal.R.bool.config_enableWallpaperService);
+ com.android.internal.R.bool.config_enableWallpaperService)
+ && !mOnlyCore;
boolean haveKeyguard = true;
final int N = mWindows.size();
for (int i=0; i<N; i++) {
@@ -5285,6 +5317,9 @@
} catch (RemoteException ex) {
Slog.e(TAG, "Boot completed: SurfaceFlinger is dead!");
}
+
+ // Enable input dispatch.
+ mInputMonitor.setEventDispatchingLw(mEventDispatchingEnabled);
}
mPolicy.enableScreenAfterBoot();
@@ -6636,7 +6671,8 @@
// -------------------------------------------------------------
final InputMonitor mInputMonitor = new InputMonitor(this);
-
+ private boolean mEventDispatchingEnabled;
+
public void pauseKeyDispatching(IBinder _token) {
if (!checkCallingPermission(android.Manifest.permission.MANAGE_APP_TOKENS,
"pauseKeyDispatching()")) {
@@ -6672,7 +6708,10 @@
}
synchronized (mWindowMap) {
- mInputMonitor.setEventDispatchingLw(enabled);
+ mEventDispatchingEnabled = enabled;
+ if (mDisplayEnabled) {
+ mInputMonitor.setEventDispatchingLw(enabled);
+ }
sendScreenStatusToClientsLocked();
}
}
@@ -8444,6 +8483,26 @@
}
}
+ private void updateAllDrawnLocked() {
+ // See if any windows have been drawn, so they (and others
+ // associated with them) can now be shown.
+ final ArrayList<AppWindowToken> appTokens = mAnimatingAppTokens;
+ final int NT = appTokens.size();
+ for (int i=0; i<NT; i++) {
+ AppWindowToken wtoken = appTokens.get(i);
+ if (!wtoken.allDrawn) {
+ int numInteresting = wtoken.numInterestingWindows;
+ if (numInteresting > 0 && wtoken.numDrawnWindows >= numInteresting) {
+ if (WindowManagerService.DEBUG_VISIBILITY) Slog.v(TAG,
+ "allDrawn: " + wtoken
+ + " interesting=" + numInteresting
+ + " drawn=" + wtoken.numDrawnWindows);
+ wtoken.allDrawn = true;
+ }
+ }
+ }
+ }
+
// "Something has changed! Let's make it correct now."
private final void performLayoutAndPlaceSurfacesLockedInner(
boolean recoveringMemory) {
@@ -8483,6 +8542,7 @@
mInnerFields.mHoldScreen = null;
mInnerFields.mScreenBrightness = -1;
mInnerFields.mButtonBrightness = -1;
+ mTransactionSequence++;
if (SHOW_LIGHT_TRANSACTIONS) Slog.i(TAG,
">>> OPEN TRANSACTION performLayoutAndPlaceSurfaces");
@@ -8560,6 +8620,7 @@
mInnerFields.mSyswin = false;
boolean focusDisplayed = false;
+ boolean updateAllDrawn = false;
final int N = mWindows.size();
for (i=N-1; i>=0; i--) {
WindowState w = mWindows.get(i);
@@ -8616,6 +8677,53 @@
}
winAnimator.setSurfaceBoundaries(recoveringMemory);
+
+ final AppWindowToken atoken = w.mAppToken;
+ if (DEBUG_STARTING_WINDOW && atoken != null && w == atoken.startingWindow) {
+ Slog.d(TAG, "updateWindows: starting " + w + " isOnScreen="
+ + w.isOnScreen() + " allDrawn=" + atoken.allDrawn
+ + " freezingScreen=" + atoken.mAppAnimator.freezingScreen);
+ }
+ if (atoken != null && (!atoken.allDrawn || atoken.mAppAnimator.freezingScreen)) {
+ if (atoken.lastTransactionSequence != mTransactionSequence) {
+ atoken.lastTransactionSequence = mTransactionSequence;
+ atoken.numInterestingWindows = atoken.numDrawnWindows = 0;
+ atoken.startingDisplayed = false;
+ }
+ if ((w.isOnScreen() || winAnimator.mAttrType
+ == WindowManager.LayoutParams.TYPE_BASE_APPLICATION)
+ && !w.mExiting && !w.mDestroying) {
+ if (WindowManagerService.DEBUG_VISIBILITY ||
+ WindowManagerService.DEBUG_ORIENTATION) {
+ Slog.v(TAG, "Eval win " + w + ": isDrawn=" + w.isDrawnLw()
+ + ", isAnimating=" + winAnimator.isAnimating());
+ if (!w.isDrawnLw()) {
+ Slog.v(TAG, "Not displayed: s=" + winAnimator.mSurface
+ + " pv=" + w.mPolicyVisibility
+ + " mDrawState=" + winAnimator.mDrawState
+ + " ah=" + w.mAttachedHidden
+ + " th=" + atoken.hiddenRequested
+ + " a=" + winAnimator.mAnimating);
+ }
+ }
+ if (w != atoken.startingWindow) {
+ if (!atoken.mAppAnimator.freezingScreen || !w.mAppFreezing) {
+ atoken.numInterestingWindows++;
+ if (w.isDrawnLw()) {
+ atoken.numDrawnWindows++;
+ if (WindowManagerService.DEBUG_VISIBILITY ||
+ WindowManagerService.DEBUG_ORIENTATION) Slog.v(TAG,
+ "tokenMayBeDrawn: " + atoken
+ + " freezingScreen=" + atoken.mAppAnimator.freezingScreen
+ + " mAppFreezing=" + w.mAppFreezing);
+ updateAllDrawn = true;
+ }
+ }
+ } else if (w.isDrawnLw()) {
+ atoken.startingDisplayed = true;
+ }
+ }
+ }
}
if (someoneLosingFocus && w == mCurrentFocus && w.isDisplayedLw()) {
@@ -8625,6 +8733,10 @@
updateResizingWindows(w);
}
+ if (updateAllDrawn) {
+ updateAllDrawnLocked();
+ }
+
if (focusDisplayed) {
mH.sendEmptyMessage(H.REPORT_LOSING_FOCUS);
}
@@ -9753,7 +9865,8 @@
}
pw.print(" mSystemBooted="); pw.print(mSystemBooted);
pw.print(" mDisplayEnabled="); pw.println(mDisplayEnabled);
- pw.print(" mLayoutNeeded="); pw.println(mLayoutNeeded);
+ pw.print(" mLayoutNeeded="); pw.print(mLayoutNeeded);
+ pw.print("mTransactionSequence="); pw.println(mTransactionSequence);
pw.print(" mDisplayFrozen="); pw.print(mDisplayFrozen);
pw.print(" mWindowsFreezingScreen="); pw.print(mWindowsFreezingScreen);
pw.print(" mAppsFreezingScreen="); pw.print(mAppsFreezingScreen);
@@ -9814,6 +9927,8 @@
}
pw.print(" mStartingIconInTransition="); pw.print(mStartingIconInTransition);
pw.print(" mSkipAppTransitionAnimation="); pw.println(mSkipAppTransitionAnimation);
+ pw.println(" Window Animator:");
+ mAnimator.dump(pw, " ", dumpAll);
}
}
diff --git a/services/java/com/android/server/wm/WindowStateAnimator.java b/services/java/com/android/server/wm/WindowStateAnimator.java
index 109161a..03e52fe 100644
--- a/services/java/com/android/server/wm/WindowStateAnimator.java
+++ b/services/java/com/android/server/wm/WindowStateAnimator.java
@@ -120,6 +120,16 @@
static final int READY_TO_SHOW = 3;
/** Set when the window has been shown in the screen the first time. */
static final int HAS_DRAWN = 4;
+ static String drawStateToString(int state) {
+ switch (state) {
+ case NO_SURFACE: return "NO_SURFACE";
+ case DRAW_PENDING: return "DRAW_PENDING";
+ case COMMIT_DRAW_PENDING: return "COMMIT_DRAW_PENDING";
+ case READY_TO_SHOW: return "READY_TO_SHOW";
+ case HAS_DRAWN: return "HAS_DRAWN";
+ default: return Integer.toString(state);
+ }
+ }
int mDrawState;
/** Was this window last hidden? */
@@ -399,10 +409,19 @@
}
boolean finishDrawingLocked() {
+ if (DEBUG_STARTING_WINDOW &&
+ mWin.mAttrs.type == WindowManager.LayoutParams.TYPE_APPLICATION_STARTING) {
+ Slog.v(TAG, "Finishing drawing window " + mWin + ": mDrawState="
+ + drawStateToString(mDrawState));
+ }
if (mDrawState == DRAW_PENDING) {
if (DEBUG_SURFACE_TRACE || DEBUG_ANIM || SHOW_TRANSACTIONS || DEBUG_ORIENTATION)
Slog.v(TAG, "finishDrawingLocked: mDrawState=COMMIT_DRAW_PENDING " + this + " in "
+ mSurface);
+ if (DEBUG_STARTING_WINDOW &&
+ mWin.mAttrs.type == WindowManager.LayoutParams.TYPE_APPLICATION_STARTING) {
+ Slog.v(TAG, "Draw state now committed in " + mWin);
+ }
mDrawState = COMMIT_DRAW_PENDING;
return true;
}
@@ -411,11 +430,17 @@
// This must be called while inside a transaction.
boolean commitFinishDrawingLocked(long currentTime) {
+ if (DEBUG_STARTING_WINDOW &&
+ mWin.mAttrs.type == WindowManager.LayoutParams.TYPE_APPLICATION_STARTING) {
+ Slog.i(TAG, "commitFinishDrawingLocked: " + mWin + " cur mDrawState="
+ + drawStateToString(mDrawState));
+ }
if (mDrawState != COMMIT_DRAW_PENDING) {
return false;
}
- if (DEBUG_SURFACE_TRACE || DEBUG_ANIM)
+ if (DEBUG_SURFACE_TRACE || DEBUG_ANIM) {
Slog.i(TAG, "commitFinishDrawingLocked: mDrawState=READY_TO_SHOW " + mSurface);
+ }
mDrawState = READY_TO_SHOW;
final boolean starting = mWin.mAttrs.type == TYPE_APPLICATION_STARTING;
final AppWindowToken atoken = mWin.mAppToken;
@@ -1214,7 +1239,8 @@
// This must be called while inside a transaction.
boolean performShowLocked() {
- if (DEBUG_VISIBILITY) {
+ if (DEBUG_VISIBILITY || (DEBUG_STARTING_WINDOW &&
+ mWin.mAttrs.type == WindowManager.LayoutParams.TYPE_APPLICATION_STARTING)) {
RuntimeException e = null;
if (!WindowManagerService.HIDE_STACK_CRAWLS) {
e = new RuntimeException();
@@ -1223,12 +1249,7 @@
Slog.v(TAG, "performShow on " + this
+ ": mDrawState=" + mDrawState + " readyForDisplay="
+ mWin.isReadyForDisplayIgnoringKeyguard()
- + " starting=" + (mWin.mAttrs.type == TYPE_APPLICATION_STARTING), e);
- }
- if (mDrawState == READY_TO_SHOW && mWin.isReadyForDisplayIgnoringKeyguard()) {
- if (SHOW_TRANSACTIONS || DEBUG_ORIENTATION)
- WindowManagerService.logSurface(mWin, "SHOW (performShowLocked)", null);
- if (DEBUG_VISIBILITY) Slog.v(TAG, "Showing " + this
+ + " starting=" + (mWin.mAttrs.type == TYPE_APPLICATION_STARTING)
+ " during animation: policyVis=" + mWin.mPolicyVisibility
+ " attHidden=" + mWin.mAttachedHidden
+ " tok.hiddenRequested="
@@ -1237,7 +1258,24 @@
+ (mWin.mAppToken != null ? mWin.mAppToken.hidden : false)
+ " animating=" + mAnimating
+ " tok animating="
- + (mWin.mAppToken != null ? mWin.mAppToken.mAppAnimator.animating : false));
+ + (mWin.mAppToken != null ? mWin.mAppToken.mAppAnimator.animating : false), e);
+ }
+ if (mDrawState == READY_TO_SHOW && mWin.isReadyForDisplayIgnoringKeyguard()) {
+ if (SHOW_TRANSACTIONS || DEBUG_ORIENTATION)
+ WindowManagerService.logSurface(mWin, "SHOW (performShowLocked)", null);
+ if (DEBUG_VISIBILITY || (DEBUG_STARTING_WINDOW &&
+ mWin.mAttrs.type == WindowManager.LayoutParams.TYPE_APPLICATION_STARTING)) {
+ Slog.v(TAG, "Showing " + this
+ + " during animation: policyVis=" + mWin.mPolicyVisibility
+ + " attHidden=" + mWin.mAttachedHidden
+ + " tok.hiddenRequested="
+ + (mWin.mAppToken != null ? mWin.mAppToken.hiddenRequested : false)
+ + " tok.hidden="
+ + (mWin.mAppToken != null ? mWin.mAppToken.hidden : false)
+ + " animating=" + mAnimating
+ + " tok animating="
+ + (mWin.mAppToken != null ? mWin.mAppToken.mAppAnimator.animating : false));
+ }
mService.enableScreenIfNeededLocked();
@@ -1425,7 +1463,8 @@
if (mSurface != null) {
if (dumpAll) {
pw.print(prefix); pw.print("mSurface="); pw.println(mSurface);
- pw.print(prefix); pw.print("mDrawState="); pw.print(mDrawState);
+ pw.print(prefix); pw.print("mDrawState=");
+ pw.print(drawStateToString(mDrawState));
pw.print(" mLastHidden="); pw.println(mLastHidden);
}
pw.print(prefix); pw.print("Surface: shown="); pw.print(mSurfaceShown);