128 mptr[i].fptr = fPtr; 129 } else { 130 ret = MLIB_FAILURE; 131 } 132 i++; 133 } 134 if (ret != MLIB_SUCCESS) { 135 dlclose(handle); 136 } 137 return ret; 138 } 139 140 mlib_start_timer awt_setMlibStartTimer() { 141 return start_timer; 142 } 143 144 mlib_stop_timer awt_setMlibStopTimer() { 145 return stop_timer; 146 } 147 148 void awt_getBIColorOrder(int type, int *colorOrder) { 149 switch(type) { 150 case java_awt_image_BufferedImage_TYPE_INT_ARGB: 151 case java_awt_image_BufferedImage_TYPE_INT_ARGB_PRE: 152 colorOrder[0] = 1; 153 colorOrder[1] = 2; 154 colorOrder[2] = 3; 155 colorOrder[3] = 0; 156 break; 157 case java_awt_image_BufferedImage_TYPE_INT_BGR: 158 colorOrder[0] = 2; 159 colorOrder[1] = 1; 160 colorOrder[2] = 0; 161 break; 162 case java_awt_image_BufferedImage_TYPE_4BYTE_ABGR: 163 case java_awt_image_BufferedImage_TYPE_4BYTE_ABGR_PRE: 164 colorOrder[0] = 3; 165 colorOrder[1] = 2; 166 colorOrder[2] = 1; 167 colorOrder[3] = 0; 168 break; 169 case java_awt_image_BufferedImage_TYPE_3BYTE_BGR: 170 colorOrder[0] = 2; 171 colorOrder[1] = 1; 172 colorOrder[2] = 0; 173 break; 174 case java_awt_image_BufferedImage_TYPE_INT_RGB: 175 colorOrder[0] = 1; 176 colorOrder[1] = 2; 177 colorOrder[2] = 3; 178 break; 179 case java_awt_image_BufferedImage_TYPE_USHORT_565_RGB: 180 case java_awt_image_BufferedImage_TYPE_USHORT_555_RGB: 181 colorOrder[0] = 0; 182 colorOrder[1] = 1; 183 colorOrder[2] = 2; 184 break; 185 case java_awt_image_BufferedImage_TYPE_BYTE_GRAY: 186 case java_awt_image_BufferedImage_TYPE_USHORT_GRAY: 187 case java_awt_image_BufferedImage_TYPE_BYTE_BINARY: 188 case java_awt_image_BufferedImage_TYPE_BYTE_INDEXED: 189 colorOrder[0] = 0; 190 break; 191 } 192 } 193 194 /*************************************************************************** 195 * Static Functions * 196 ***************************************************************************/ 197 198 static void start_timer(int numsec) 199 { 200 struct itimerval interval; 201 202 interval.it_interval.tv_sec = numsec; 203 interval.it_interval.tv_usec = 0; 204 interval.it_value.tv_sec = numsec; 205 interval.it_value.tv_usec = 0; 206 setitimer(ITIMER_REAL, &interval, 0); 207 } 208 209 210 static void stop_timer(int numsec, int ntimes) 211 { 212 struct itimerval interval; 213 double sec; | 128 mptr[i].fptr = fPtr; 129 } else { 130 ret = MLIB_FAILURE; 131 } 132 i++; 133 } 134 if (ret != MLIB_SUCCESS) { 135 dlclose(handle); 136 } 137 return ret; 138 } 139 140 mlib_start_timer awt_setMlibStartTimer() { 141 return start_timer; 142 } 143 144 mlib_stop_timer awt_setMlibStopTimer() { 145 return stop_timer; 146 } 147 148 /*************************************************************************** 149 * Static Functions * 150 ***************************************************************************/ 151 152 static void start_timer(int numsec) 153 { 154 struct itimerval interval; 155 156 interval.it_interval.tv_sec = numsec; 157 interval.it_interval.tv_usec = 0; 158 interval.it_value.tv_sec = numsec; 159 interval.it_value.tv_usec = 0; 160 setitimer(ITIMER_REAL, &interval, 0); 161 } 162 163 164 static void stop_timer(int numsec, int ntimes) 165 { 166 struct itimerval interval; 167 double sec; |