OpenCores
URL https://opencores.org/ocsvn/openrisc/openrisc/trunk

Subversion Repositories openrisc

[/] [openrisc/] [trunk/] [gnu-dev/] [or1k-gcc/] [libjava/] [classpath/] [javax/] [imageio/] [plugins/] [bmp/] [BMPImageWriteParam.java] - Blame information for rev 772

Details | Compare with Previous | View Log

Line No. Rev Author Line
1 772 jeremybenn
/* BMPImageWriteParam.java --
2
   Copyright (C) 2006 Free Software Foundation, Inc.
3
 
4
This file is part of GNU Classpath.
5
 
6
GNU Classpath is free software; you can redistribute it and/or modify
7
it under the terms of the GNU General Public License as published by
8
the Free Software Foundation; either version 2, or (at your option)
9
any later version.
10
 
11
GNU Classpath is distributed in the hope that it will be useful, but
12
WITHOUT ANY WARRANTY; without even the implied warranty of
13
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
14
General Public License for more details.
15
 
16
You should have received a copy of the GNU General Public License
17
along with GNU Classpath; see the file COPYING.  If not, write to the
18
Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
19
02110-1301 USA.
20
 
21
Linking this library statically or dynamically with other modules is
22
making a combined work based on this library.  Thus, the terms and
23
conditions of the GNU General Public License cover the whole
24
combination.
25
 
26
As a special exception, the copyright holders of this library give you
27
permission to link this library with independent modules to produce an
28
executable, regardless of the license terms of these independent
29
modules, and to copy and distribute the resulting executable under
30
terms of your choice, provided that you also meet, for each linked
31
independent module, the terms and conditions of the license of that
32
module.  An independent module is a module which is not derived from
33
or based on this library.  If you modify this library, you may extend
34
this exception to your version of the library, but you are not
35
obligated to do so.  If you do not wish to do so, delete this
36
exception statement from your version. */
37
 
38
 
39
package javax.imageio.plugins.bmp;
40
 
41
import java.util.Locale;
42
 
43
import javax.imageio.ImageWriteParam;
44
 
45
/**
46
 * A class to encode images in the BMP format.
47
 * By default, the data layout is bottom-up, such that the pixels are stored in
48
 * bottom-up order.
49
 *
50
 * The compression scheme can be specified by using setCompressionType()
51
 * appropriate type string. The compression scheme specified will be honored
52
 * if it is compatible with the type of image being written. If the
53
 * compression scheme is not compatible with the type of image being written,
54
 * then an IOException will be thrown by the BMP image writer. If the
55
 * compression type is not set, then getCompressionType() will return null.
56
 * In this case the BMP image writer will select a compression type that
57
 * supports encoding of the given image without loss of the color resolution.
58
 *
59
 * The compression type strings and the image type each supports are:
60
 * Uncompressed RLE: BI_RGB, image type: <= 8-bits/sample.
61
 * 8-bit Run Length Encoding: BI_RLE8, image type: <= 8-bits/sample
62
 * 4-bit Run Length Encoding: BI_RLE4, image type: <= 4-bits/sample
63
 * Packed data: BI_BITFIELDS, image type: 16 or 32 bits/sample
64
 *
65
 * @author Lillian Angel (langel at redhat dot com)
66
 */
67
public class BMPImageWriteParam
68
    extends ImageWriteParam
69
{
70
 
71
  /**
72
   * This boolean is true if the data will be written in a topdown manner.
73
   */
74
  private boolean topDown;
75
 
76
  /**
77
   * Compression type strings.
78
   */
79
  String rgb = "BI_RGB";
80
  String rle8 = "BI_RLE8";
81
  String rle4 = "BI_RLE4";
82
  String bitfields = "BI_BITFIELDS";
83
 
84
  /**
85
   * Constants to represent image types.
86
   */
87
  static final int BI_RGB = 0;
88
  static final int BI_RLE8 = 1;
89
  static final int BI_RLE4 = 2;
90
  static final int BI_BITFIELDS = 3;
91
 
92
  /**
93
   * Constructs an <code>BMPImageWriteParam</code> object with default values
94
   * and a <code>null Locale</code>.
95
   */
96
  public BMPImageWriteParam()
97
  {
98
    this(null);
99
  }
100
 
101
  /**
102
   * Constructs a <code>BMPImageWriteParam</code> set to use a given
103
   * <code>Locale</code> and with default values for all parameters.
104
   *
105
   * @param locale - a <code>Locale</code> to be used to localize compression
106
   *          type names and quality descriptions, or <code>null</code>.
107
   */
108
  public BMPImageWriteParam(Locale locale)
109
  {
110
    super(locale);
111
    topDown = false;
112
    canWriteCompressed = true;
113
 
114
    compressionTypes = new String[4];
115
    compressionTypes[BI_RGB] = rgb;
116
    compressionTypes[BI_RLE8] = rle8;
117
    compressionTypes[BI_RLE4] = rle4;
118
    compressionTypes[BI_BITFIELDS] = bitfields;
119
 
120
    compressionType = compressionTypes[BI_RGB];
121
  }
122
 
123
  /**
124
   * If set, the data will be written out in a top-down manner, the first
125
   * scanline being written first.
126
   *
127
   * @param topDown - whether the data are written in top-down order.
128
   */
129
  public void setTopDown(boolean topDown)
130
  {
131
    this.topDown = topDown;
132
  }
133
 
134
  /**
135
   * Returns the value of the <code>topDown</code> parameter. The default is
136
   * false.
137
   *
138
   * @return whether the data are written in top-down order.
139
   */
140
  public boolean isTopDown()
141
  {
142
    return topDown;
143
  }
144
}

powered by: WebSVN 2.1.0

© copyright 1999-2024 OpenCores.org, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.