1/* 2 * Copyright (C) 2011 The Android Open Source Project 3 * 4 * Licensed under the Apache License, Version 2.0 (the "License"); 5 * you may not use this file except in compliance with the License. 6 * You may obtain a copy of the License at 7 * 8 * http://www.apache.org/licenses/LICENSE-2.0 9 * 10 * Unless required by applicable law or agreed to in writing, software 11 * distributed under the License is distributed on an "AS IS" BASIS, 12 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 * See the License for the specific language governing permissions and 14 * limitations under the License. 15 */ 16 17/** @file rs_object.rsh 18 * \brief Object routines 19 * 20 * 21 */ 22 23#ifndef __RS_OBJECT_RSH__ 24#define __RS_OBJECT_RSH__ 25 26 27/** 28 * Copy reference to the specified object. 29 * 30 * @param dst 31 * @param src 32 */ 33extern void __attribute__((overloadable)) 34 rsSetObject(rs_element *dst, rs_element src); 35/** 36 * \overload 37 */ 38extern void __attribute__((overloadable)) 39 rsSetObject(rs_type *dst, rs_type src); 40/** 41 * \overload 42 */ 43extern void __attribute__((overloadable)) 44 rsSetObject(rs_allocation *dst, rs_allocation src); 45/** 46 * \overload 47 */ 48extern void __attribute__((overloadable)) 49 rsSetObject(rs_sampler *dst, rs_sampler src); 50/** 51 * \overload 52 */ 53extern void __attribute__((overloadable)) 54 rsSetObject(rs_script *dst, rs_script src); 55/** 56 * \overload 57 */ 58extern void __attribute__((overloadable)) 59 rsSetObject(rs_path *dst, rs_path src); 60/** 61 * \overload 62 */ 63extern void __attribute__((overloadable)) 64 rsSetObject(rs_mesh *dst, rs_mesh src); 65/** 66 * \overload 67 */ 68extern void __attribute__((overloadable)) 69 rsSetObject(rs_program_fragment *dst, rs_program_fragment src); 70/** 71 * \overload 72 */ 73extern void __attribute__((overloadable)) 74 rsSetObject(rs_program_vertex *dst, rs_program_vertex src); 75/** 76 * \overload 77 */ 78extern void __attribute__((overloadable)) 79 rsSetObject(rs_program_raster *dst, rs_program_raster src); 80/** 81 * \overload 82 */ 83extern void __attribute__((overloadable)) 84 rsSetObject(rs_program_store *dst, rs_program_store src); 85/** 86 * \overload 87 */ 88extern void __attribute__((overloadable)) 89 rsSetObject(rs_font *dst, rs_font src); 90 91/** 92 * Sets the object to NULL. 93 * 94 * @return bool 95 */ 96extern void __attribute__((overloadable)) 97 rsClearObject(rs_element *dst); 98/** 99 * \overload 100 */ 101extern void __attribute__((overloadable)) 102 rsClearObject(rs_type *dst); 103/** 104 * \overload 105 */ 106extern void __attribute__((overloadable)) 107 rsClearObject(rs_allocation *dst); 108/** 109 * \overload 110 */ 111extern void __attribute__((overloadable)) 112 rsClearObject(rs_sampler *dst); 113/** 114 * \overload 115 */ 116extern void __attribute__((overloadable)) 117 rsClearObject(rs_script *dst); 118/** 119 * \overload 120 */ 121extern void __attribute__((overloadable)) 122 rsClearObject(rs_path *dst); 123/** 124 * \overload 125 */ 126extern void __attribute__((overloadable)) 127 rsClearObject(rs_mesh *dst); 128/** 129 * \overload 130 */ 131extern void __attribute__((overloadable)) 132 rsClearObject(rs_program_fragment *dst); 133/** 134 * \overload 135 */ 136extern void __attribute__((overloadable)) 137 rsClearObject(rs_program_vertex *dst); 138/** 139 * \overload 140 */ 141extern void __attribute__((overloadable)) 142 rsClearObject(rs_program_raster *dst); 143/** 144 * \overload 145 */ 146extern void __attribute__((overloadable)) 147 rsClearObject(rs_program_store *dst); 148/** 149 * \overload 150 */ 151extern void __attribute__((overloadable)) 152 rsClearObject(rs_font *dst); 153 154 155 156/** 157 * Tests if the object is valid. Returns true if the object is valid, false if 158 * it is NULL. 159 * 160 * @return bool 161 */ 162extern bool __attribute__((overloadable)) 163 rsIsObject(rs_element); 164/** 165 * \overload 166 */ 167extern bool __attribute__((overloadable)) 168 rsIsObject(rs_type); 169/** 170 * \overload 171 */ 172extern bool __attribute__((overloadable)) 173 rsIsObject(rs_allocation); 174/** 175 * \overload 176 */ 177extern bool __attribute__((overloadable)) 178 rsIsObject(rs_sampler); 179/** 180 * \overload 181 */ 182extern bool __attribute__((overloadable)) 183 rsIsObject(rs_script); 184/** 185 * \overload 186 */ 187extern bool __attribute__((overloadable)) 188 rsIsObject(rs_path); 189/** 190 * \overload 191 */ 192extern bool __attribute__((overloadable)) 193 rsIsObject(rs_mesh); 194/** 195 * \overload 196 */ 197extern bool __attribute__((overloadable)) 198 rsIsObject(rs_program_fragment); 199/** 200 * \overload 201 */ 202extern bool __attribute__((overloadable)) 203 rsIsObject(rs_program_vertex); 204/** 205 * \overload 206 */ 207extern bool __attribute__((overloadable)) 208 rsIsObject(rs_program_raster); 209/** 210 * \overload 211 */ 212extern bool __attribute__((overloadable)) 213 rsIsObject(rs_program_store); 214/** 215 * \overload 216 */ 217extern bool __attribute__((overloadable)) 218 rsIsObject(rs_font); 219 220#endif 221