| /* |
| * Copyright 2012 Google Inc. |
| * |
| * Licensed under the Apache License, Version 2.0 (the "License"); you may not |
| * use this file except in compliance with the License. You may obtain a copy of |
| * the License at |
| * |
| * http://www.apache.org/licenses/LICENSE-2.0 |
| * |
| * Unless required by applicable law or agreed to in writing, software |
| * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT |
| * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the |
| * License for the specific language governing permissions and limitations under |
| * the License. |
| */ |
| package com.google.gwt.typedarrays.shared; |
| |
| /** |
| * A view representing an {@link ArrayBuffer} as 16-bit signed integers. Storing |
| * out-of-range values are mapped to valid values by taking the bottom 16 bits of |
| * the value. |
| * |
| * {@link "http://www.khronos.org/registry/typedarray/specs/latest/#7"} |
| */ |
| public interface Int16Array extends ArrayBufferView { |
| |
| final int BYTES_PER_ELEMENT = 2; |
| |
| /** |
| * The length in elements of this view. |
| * |
| * @return non-negative length |
| */ |
| int length(); |
| |
| /** |
| * Retrieve one element of this view. |
| * |
| * @param index |
| * @return the requested element |
| */ |
| short get(int index); |
| |
| /** |
| * Set one element in this view. |
| * |
| * @param index |
| * @param value |
| */ |
| void set(int index, int value); |
| |
| /** |
| * Set multiple elements in this view from another view, storing starting at 0. |
| * |
| * @param array |
| */ |
| void set(Int16Array array); |
| |
| /** |
| * Set multiple elements in this view from another view, storing starting at the |
| * requested offset. |
| * |
| * @param array |
| */ |
| void set(Int16Array array, int offset); |
| |
| /** |
| * Set multiple elements in this view from an array, storing starting at 0. |
| * |
| * @param array |
| */ |
| void set(short[] array); |
| |
| /** |
| * Set multiple elements in this view from an array, storing starting at the |
| * requested offset. |
| * |
| * @param array |
| */ |
| void set(short[] array, int offset); |
| |
| /** |
| * Set multiple elements in this view from an array, storing starting at 0. |
| * |
| * @param array |
| */ |
| void set(int[] array); |
| |
| /** |
| * Set multiple elements in this view from an array, storing starting at the |
| * requested offset. |
| * |
| * @param array |
| */ |
| void set(int[] array, int offset); |
| |
| /** |
| * Create a new view from the same array, from {@code offset} to the end of |
| * this view. These offset is clamped to legal indices into this view, so it |
| * is not an error to specify an invalid index. |
| * |
| * @param begin offset into this view if non-negative; if negative, an index |
| * from the end of this view |
| * @return a new {@link Int16Array} instance |
| */ |
| Int16Array subarray(int begin); |
| |
| /** |
| * Create a new view from the same array, from {@code offset} to (but not |
| * including) {@code end} in this view. These indices are clamped to legal |
| * indices into this view, so it is not an error to specify invalid indices. |
| * |
| * @param begin offset into this view if non-negative; if negative, an index from |
| * the end of this view |
| * @param end offset into this view if non-negative; if negative, an index from |
| * the end of this view |
| * @return a new {@link Int16Array} instance |
| */ |
| Int16Array subarray(int begin, int end); |
| } |