()
| 388 | } |
| 389 | |
| 390 | public String print() { |
| 391 | StringBuffer s = new StringBuffer(); |
| 392 | s.append("depth "+depth+" ("+bpp+"bpp)"); |
| 393 | if (bpp != 8) { |
| 394 | if (bigEndian) |
| 395 | s.append(" big-endian"); |
| 396 | else |
| 397 | s.append(" little-endian"); |
| 398 | } |
| 399 | |
| 400 | if (!trueColour) { |
| 401 | s.append(" colour-map"); |
| 402 | return s.toString(); |
| 403 | } |
| 404 | |
| 405 | if (blueShift == 0 && greenShift > blueShift && redShift > greenShift && |
| 406 | blueMax == (1 << greenShift) - 1 && |
| 407 | greenMax == (1 << (redShift-greenShift)) - 1 && |
| 408 | redMax == (1 << (depth-redShift)) - 1) |
| 409 | { |
| 410 | s.append(" rgb"+(depth-redShift)+(redShift-greenShift)+greenShift); |
| 411 | return s.toString(); |
| 412 | } |
| 413 | |
| 414 | if (redShift == 0 && greenShift > redShift && blueShift > greenShift && |
| 415 | redMax == (1 << greenShift) - 1 && |
| 416 | greenMax == (1 << (blueShift-greenShift)) - 1 && |
| 417 | blueMax == (1 << (depth-blueShift)) - 1) |
| 418 | { |
| 419 | s.append(" bgr"+(depth-blueShift)+(blueShift-greenShift)+greenShift); |
| 420 | return s.toString(); |
| 421 | } |
| 422 | |
| 423 | s.append(" rgb max "+redMax+","+greenMax+","+blueMax+" shift "+redShift+ |
| 424 | ","+greenShift+","+blueShift); |
| 425 | return s.toString(); |
| 426 | } |
| 427 | |
| 428 | private static int bits(int value) |
| 429 | { |
no test coverage detected