X-Git-Url: http://git.rot13.org/?a=blobdiff_plain;f=csharp%2Fcommon%2FByteMatrix.cs;h=c656d4028a39024bc6679fb95e86098195c7d222;hb=3069fb4808b15901155620b678ef6a34562459d6;hp=b1daa7210c7f59104ae12685879cffbee811a6e7;hpb=e35d358134873c3f640672da7cd0c01f02253151;p=zxing.git
diff --git a/csharp/common/ByteMatrix.cs b/csharp/common/ByteMatrix.cs
index b1daa721..c656d402 100755
--- a/csharp/common/ByteMatrix.cs
+++ b/csharp/common/ByteMatrix.cs
@@ -1,4 +1,4 @@
-/*
+/*
* Copyright 2008 ZXing authors
*
* Licensed under the Apache License, Version 2.0 (the "License");
@@ -13,103 +13,119 @@
* See the License for the specific language governing permissions and
* limitations under the License.
*/
+using System;
namespace com.google.zxing.common
{
- using System;
- using System.Text;
-
- /// A class which wraps a 2D array of bytes. The default usage is signed. If you want to use it as a
- /// unsigned container, it's up to you to do byteValue & 0xff at each location.
- /// *
- /// JAVAPORT: I'm not happy about the argument ordering throughout the file, as I always like to have
- /// the horizontal component first, but this is for compatibility with the C++ code. The original
- /// code was a 2D array of ints, but since it only ever gets assigned -1, 0, and 1, I'm going to use
- /// less memory and go with bytes.
- /// *
- ///
- /// dswitkin@google.com (Daniel Switkin)
- ///
- ///
- public sealed class ByteMatrix
- {
- private sbyte[][] bytes;
- private int Height;
- private int Width;
-
-
- public ByteMatrix(int height, int width) {
- bytes = new sbyte[height][];
- for (int i = 0; i < height; i++) {
- bytes[i] = new sbyte[width];
- }
- this.Height = height;
- this.Width = width;
- }
-
- public int height()
- {
- return Height;
- }
-
- public int width()
- {
- return Width;
- }
-
- public sbyte get(int y, int x)
- {
- return bytes[y][x];
- }
-
- public sbyte[][] getArray()
- {
- return bytes;
- }
-
- public void set(int y, int x, sbyte value)
- {
- bytes[y][x] = value;
- }
-
- public void set(int y, int x, int value)
- {
- bytes[y][x] = (sbyte)value;
- }
-
- public void clear(sbyte value)
- {
- for (int y = 0; y < Height; ++y)
- {
- for (int x = 0; x < Width; ++x)
- {
- bytes[y][x] = value;
- }
- }
- }
-
- public String toString()
- {
- StringBuilder result = new StringBuilder();
- for (int y = 0; y < Height; ++y)
- {
- for (int x = 0; x < Width; ++x)
- {
- switch (bytes[y][x])
- {
- case 0:
- result.Append(" 0");
- break;
- case 1:
- result.Append(" 1");
- break;
- default:
- result.Append(" ");
- break;
- }
- }
- result.Append('\n');
- }
- return result.ToString();
- }
- }
+
+ /// A class which wraps a 2D array of bytes. The default usage is signed. If you want to use it as a
+ /// unsigned container, it's up to you to do byteValue & 0xff at each location.
+ ///
+ /// JAVAPORT: The original code was a 2D array of ints, but since it only ever gets assigned
+ /// -1, 0, and 1, I'm going to use less memory and go with bytes.
+ ///
+ ///
+ /// dswitkin@google.com (Daniel Switkin)
+ ///
+ /// www.Redivivus.in (suraj.supekar@redivivus.in) - Ported from ZXING Java Source
+ ///
+ public sealed class ByteMatrix
+ {
+ public int Height
+ {
+ get
+ {
+ return height;
+ }
+
+ }
+ public int Width
+ {
+ get
+ {
+ return width;
+ }
+
+ }
+ public sbyte[][] Array
+ {
+ get
+ {
+ return bytes;
+ }
+
+ }
+
+ //UPGRADE_NOTE: Final was removed from the declaration of 'bytes '. "ms-help://MS.VSCC.v80/dv_commoner/local/redirect.htm?index='!DefaultContextWindowIndex'&keyword='jlca1003'"
+ private sbyte[][] bytes;
+ //UPGRADE_NOTE: Final was removed from the declaration of 'width '. "ms-help://MS.VSCC.v80/dv_commoner/local/redirect.htm?index='!DefaultContextWindowIndex'&keyword='jlca1003'"
+ private int width;
+ //UPGRADE_NOTE: Final was removed from the declaration of 'height '. "ms-help://MS.VSCC.v80/dv_commoner/local/redirect.htm?index='!DefaultContextWindowIndex'&keyword='jlca1003'"
+ private int height;
+
+ public ByteMatrix(int width, int height)
+ {
+ bytes = new sbyte[height][];
+ for (int i = 0; i < height; i++)
+ {
+ bytes[i] = new sbyte[width];
+ }
+ this.width = width;
+ this.height = height;
+ }
+
+ public sbyte get_Renamed(int x, int y)
+ {
+ return bytes[y][x];
+ }
+
+ public void set_Renamed(int x, int y, sbyte value_Renamed)
+ {
+ bytes[y][x] = value_Renamed;
+ }
+
+ public void set_Renamed(int x, int y, int value_Renamed)
+ {
+ bytes[y][x] = (sbyte) value_Renamed;
+ }
+
+ public void clear(sbyte value_Renamed)
+ {
+ for (int y = 0; y < height; ++y)
+ {
+ for (int x = 0; x < width; ++x)
+ {
+ bytes[y][x] = value_Renamed;
+ }
+ }
+ }
+
+ public override System.String ToString()
+ {
+ System.Text.StringBuilder result = new System.Text.StringBuilder(2 * width * height + 2);
+ for (int y = 0; y < height; ++y)
+ {
+ for (int x = 0; x < width; ++x)
+ {
+ switch (bytes[y][x])
+ {
+
+ case 0:
+ result.Append(" 0");
+ break;
+
+ case 1:
+ result.Append(" 1");
+ break;
+
+ default:
+ result.Append(" ");
+ break;
+
+ }
+ }
+ result.Append('\n');
+ }
+ return result.ToString();
+ }
+ }
}
\ No newline at end of file