Commit graph

327 commits

Author SHA1 Message Date
the_fiddler cdde2893f6 Added support for enum overrides.
Enabled enum overrides in the CL and ES generators.
Function parameters now follow enum overrides (for example, if function Foo takes enum Bar and enum Bar is overriden to Baz, this change will be reflected on function Foo).
Changed default CLGenerator settings to not generate debug helpers.
2009-08-11 14:12:20 +00:00
the_fiddler 000bdf71ef Added PreviousName property.
Moved value parsing to the Name property instead of implementing in each and every ISpecReader.
2009-08-11 14:08:18 +00:00
the_fiddler 1edfbdb928 Improved handling of multiple indirection (pointer-to-pointer, pointer-to-array or any other combination up to 4 levels of indirection).
Made the generation of debug helpers optional. They are currently specific to OpenTK.Graphics and need more work before they can be used with OpenTK.Compute or OpenTK.Audio.
2009-08-11 14:06:40 +00:00
the_fiddler 16e1f279dc Added EnumPrefix setting, which may be different from ConstantPrefix or FunctionPrefix. Can be used to remove the Gl, Cl, Al, etc prefixes from enum names. 2009-08-11 14:03:55 +00:00
the_fiddler 0137c05d9a Added missing OpenCL types. 2009-08-11 14:02:44 +00:00
the_fiddler 2b596d3541 Added overrides for several OpenCL methods that return error codes (they returned plain integers previously).
Added overrides for problematic values in 'Unknown' enum.
Added overrides for string[] parameters.
2009-08-11 14:02:10 +00:00
the_fiddler 42bb893464 Regenerated signatures (now contain flow for function parameters). 2009-08-11 14:01:06 +00:00
the_fiddler 560c22accf Regenerated signatures. 2009-08-11 13:53:56 +00:00
the_fiddler 1404abb8ca Now uses 'cl' prefix instead of 'gl' for OpenCL bindings.
Fixed handling of output directory.
2009-08-09 17:57:01 +00:00
the_fiddler e98e8656e4 Added OpenCL types to the typemap. 2009-08-09 17:56:20 +00:00
the_fiddler 3a45e6214e Deleted CL directory (has been renamed to CL10). 2009-08-09 17:55:32 +00:00
the_fiddler 68fcad4929 Parameter name "event" is not allowed in .Net. Replaced with "@event". 2009-08-09 17:47:15 +00:00
the_fiddler 63a7a65fee Updated OpenCL signatures. 2009-08-09 17:36:26 +00:00
the_fiddler 4a476da4f0 Renamed CL mode to CL10. 2009-08-09 15:46:36 +00:00
the_fiddler ec4738aa49 Renamed to CL10 for compatibility with future spec releases. 2009-08-09 15:40:48 +00:00
the_fiddler 7c9d37e132 Regenerated ES 1.0 and 2.0 signatures. 2009-08-09 15:31:58 +00:00
the_fiddler d6edb9e902 Updated OpenCL signatures.xml. 2009-08-09 15:24:34 +00:00
the_fiddler 0a8e6d0555 Updated version information. 2009-08-04 10:01:33 +00:00
the_fiddler 19b1539ef7 Merged the OpenGL 3.2 specifications. 2009-08-03 23:10:37 +00:00
the_fiddler b6900f4d7a * BindStreamWriter.cs: Committed Jonathan's formatting patch for the
generated bindings.
2009-08-03 23:09:37 +00:00
the_fiddler 5a0357ee06 * GL2/Generator.cs: Improved handling for 'u' and 'ull' suffixes in
OpenGL constants.
2009-08-03 23:06:05 +00:00
the_fiddler 920d737f1f Regenerated the ES11 signatures using the updated converter. 2009-08-03 22:01:10 +00:00
the_fiddler 96033ee43b * Utilities.cs: Added AMD to extension list. 2009-08-01 14:42:54 +00:00
the_fiddler 06e5f7be06 * Utilities.cs: Committed Jonathan's patch for ES extensions. Fixed
IsGL2Extension.
2009-07-31 09:24:49 +00:00
the_fiddler 06c2c716fb Initial work on OpenCL binding generation. 2009-07-22 14:36:39 +00:00
the_fiddler e8dd567723 Added OpenCL XML specs to the generator. 2009-07-22 14:25:47 +00:00
the_fiddler ab26b80e2d Modified Type.Pointer property to be an integer instead of a boolean.
Improved handling of string arrays.
Added handling of flow direction to ESGenerator and Delegate.TranslateParameters().
Moved FlowDirection enum outside of Parameter class.
2009-07-15 22:33:26 +00:00
the_fiddler 300c7e06e7 Fixed GetString, GetShaderSource and ShaderSource signatures. 2009-07-15 22:31:28 +00:00
the_fiddler 854eafe1d3 Changed default GLES* namespaces to ES*.
Changed -mode options for ES (-mode:es* instead of -mode:gles*).
Bumped version number.
2009-07-15 15:03:22 +00:00
the_fiddler 0ead2d300e Worked around File.Replace issue on Linux by deleting the existing file first. Not perfectly safe, but acceptable for our use. 2009-07-15 15:01:55 +00:00
the_fiddler 92374cff09 Renamed GlesGenerator.cs to ESGenerator.cs.
Minor changes to match the new xml specs (the root node is now 'signatures').
2009-07-15 14:59:10 +00:00
the_fiddler b2c3c4a3f0 Removed obsolete file. 2009-07-15 14:20:46 +00:00
the_fiddler ce558ed9af Regenerated xml files for ES 1.0, 1.1, 2.0. 2009-07-15 14:06:58 +00:00
the_fiddler 165287fdd2 * Structures/Type.cs: Try to translate GLenum even if category is
unknown.
2009-07-15 14:05:40 +00:00
the_fiddler 35dc431d4d Added missing folder. 2009-06-30 12:07:03 +00:00
the_fiddler 13b87c1b0a Added OpenGL ES generator. 2009-06-30 08:39:35 +00:00
the_fiddler f4b0e7238d Added GLES fixed-point types. 2009-06-30 08:20:32 +00:00
the_fiddler aeec10c94f Renamed root node to 'functions'. 2009-06-30 08:13:41 +00:00
the_fiddler 6a5fdc0c4c Fixed GetString definition. 2009-06-30 08:13:02 +00:00
the_fiddler 42dd501cbd Added GLenum -> All mapping. 2009-06-30 08:08:21 +00:00
the_fiddler 40c63d9ff7 Renamed profile to category. 2009-06-30 08:07:43 +00:00
the_fiddler 1b6c4a54ea Fixed root node for enum XML specs 2009-06-30 07:41:42 +00:00
the_fiddler 458bf0477e Added OpenGL ES enum specifications in XML format. 2009-06-30 07:38:55 +00:00
the_fiddler 5595708ff3 Added OpenCL specifications in XML format. 2009-06-29 23:17:21 +00:00
the_fiddler 7946c40edd Added stubs for OpenGL ES 1.0, 1.1 and 2.0 profiles. 2009-06-29 21:42:51 +00:00
the_fiddler e4fcf76289 Merged string[] fix from 0.9.8 branch. 2009-06-29 18:51:40 +00:00
the_fiddler a2f0f70377 Fixed handling of pointer-to-string parameters. These are now wrapped as string[] arrays. 2009-06-29 18:32:51 +00:00
the_fiddler a7363b54e6 Removed OpenTK.Math namespace. Math functions now go directly into the OpenTK namespace. 2009-06-25 11:42:05 +00:00
the_fiddler da7c1c3a4d Fixed GL.GetBoolean (was GL.GetBoolea because the generator treated glGetBooleanv as a NV extension). 2009-06-07 05:31:38 +00:00
the_fiddler 43e0b67b2e Fixed GL.GetBoolean (was GL.GetBoolea because the generator treated glGetBooleanv as a NV extension). 2009-06-07 05:20:29 +00:00
the_fiddler c9322d621f Use "IGraphicsContext.ErrorChecking = false|true" inside Begin|End wrappers. 2009-06-04 10:35:31 +00:00
the_fiddler cb661c2dca Merged gw-next2 branch to trunk. 2009-06-02 15:49:39 +00:00
the_fiddler 4773f4470f Actually sort wrapper methods in GL.cs. 2009-05-30 15:28:52 +00:00
the_fiddler 7f5150b0df Updated tokens for DrawBuffer() method. Fixes issue [#851]: "[OpenGL] DrawBuffer and DrawBuffers tokens" (http://www.opentk.com/node/851). 2009-05-29 16:52:48 +00:00
the_fiddler 1db5d3953a Corrected tokens for TexBuffer. Fixes issue [#749]: "ARB_texture_ buffer_object" (http://www.opentk.com/node/749). 2009-05-29 16:02:50 +00:00
the_fiddler cf4a243c99 Merged the latest specs from opengl.org.
Replaced all instances of Version14, Version15, Version20, Version30 and Version31 enums by type-safe equivalents.
Added gloverrides.xml to support overrides to function parameters / return types. This will make future spec updates easier to merge.
Improved handling of invalid tokens in the specs.
Bindings are now written in alphabetical order. This will reduce patch size for future updates and make side-by-side comparisons easier to perform.
2009-05-29 15:57:01 +00:00
the_fiddler b5f08288c6 Removed ambiguous OpenGL overloads, because they confuse languages that don't distinguish between pass-by-reference and pass-by-value in the call-site (e.g. VB.Net). This affects functions that can take a single parameter either by reference or by value. 2009-05-21 23:34:20 +00:00
the_fiddler ac2c47e72b Added ColorAttachment[0-15] tokens to DrawBuffersEnum (page 182 of the 3.1 specs). 2009-05-11 13:20:35 +00:00
the_fiddler a9a4f7f575 Synced OpenGL docs with Khronos SVN. 2009-05-11 10:59:17 +00:00
the_fiddler 91c36efd6e Cleaned up tokens for SGI_color_table (promoted by OpenGL 1.2). Fixes bug [#834] "Problem between GL.ColorTable and Version12 enum" (http://www.opentk.com/node/834),
Started implementing tokens for EXT_convolution.
2009-05-07 10:31:44 +00:00
the_fiddler 370396ab7f The generator now detects and adds the FlagsAttribute to bitwise collections. Fixes bug [#792] "Resharper - Bitwise operation on enum which is not marked by [Flags] attribute" (http://www.opentk.com/node/792). 2009-05-05 21:00:48 +00:00
the_fiddler 9f6e2bf323 Added non-EXT EXT_blend_color constants to BlendingFactorDest/Src enums (promoted by GL1.2).
Added ARB_fragment_shaderFragmentShaderDerivativeHint to HintTarget enum (promoted by GL2.0).
Fixes bug [#774]: "Some Token corrections" (http://www.opentk.com/node/774)
2009-05-05 20:24:09 +00:00
the_fiddler 0ecdd1c9e3 Fixed issue http://www.opentk.com/node/794 (suppress array overloads for functions that receive/return pointers to single elements). 2009-04-15 13:14:41 +00:00
the_fiddler a128220c27 Generator now trims 'v' suffixes from all functions and marks resulting non cls-compliant overloads as such.
Bumped version number.
2009-04-12 18:23:01 +00:00
the_fiddler bfcee69961 Changed default output path for the generator to overwrite OpenTK/Graphics/GL. 2009-04-12 17:08:16 +00:00
the_fiddler 5336190bbb Updated assembly information and documentation for the 0.9.7 release. 2009-03-29 21:59:15 +00:00
the_fiddler eb183f4cfe Added stack traces to automatic error checking.
Added GraphicsContext.ErrorChecking property to temporarily disable error checking if necessary.
Error checking is now added to all functions in debug mode (the generator would miss specific CLS-compliant overloads before).
2009-03-29 21:41:30 +00:00
the_fiddler b4f0b86239 Updated tokens for EXT_transform_feedback (http://www.opentk.com/node/602). Updated tokens for ARB_uniform_ buffer_object (http://www.opentk.com/node/748). The generator no longer trims the 's' suffix from Varyings. 2009-03-29 19:26:57 +00:00
the_fiddler 364bef5478 Updated tokens for ARB_uniform_ buffer_object (Issue http://www.opentk.com/node/748).
Added tokens for GetIntegeri_v/GetBooleani_v.
2009-03-29 17:44:55 +00:00
the_fiddler b60bea7e8c Generator is now able to trim function suffixes similar to 'i_v' (first introduced in OpenGL 3.0). 2009-03-29 16:11:37 +00:00
the_fiddler d88faf0245 Updated tokens for NV_conditional_render. Issue http://www.opentk.com/node/597 2009-03-29 16:05:13 +00:00
the_fiddler 71d75282e4 Updated tokens for ARB_instanced_arrays (non-core). Issue http://www.opentk.com/node/590 2009-03-29 15:58:54 +00:00
the_fiddler f39fc9c394 Updated tokens for ARB_copy_buffer (issue http://www.opentk.com/node/747). 2009-03-29 15:47:09 +00:00
the_fiddler 16809ca0db Updated tokens for APPLE_flush_buffer_range (issue http://www.opentk.com/node/598). 2009-03-29 15:35:58 +00:00
the_fiddler 4abac1f814 Updated tokens for ARB_map_buffer_range (issue http://www.opentk.com/node/591). 2009-03-29 15:26:58 +00:00
the_fiddler 3bb28d6bd9 Updated tokens for EXT_texture_ shared_exponent (issue [#600]), EXT_packed_float (issue [#599]) and added new OpenGL 3.0 tokens to GetPName (major/minor version, num_extensions and context_flags) and GetStringi. 2009-03-29 15:19:53 +00:00
the_fiddler 0d5af73465 Updated tokens for EXT_gpu_shader4 (issue [#604]). 2009-03-29 14:49:28 +00:00
the_fiddler 175117ceba Updated tokens for ARB_vertex_array_object (issue [#595]). 2009-03-29 14:28:44 +00:00
the_fiddler 9daced745e Fixed '*Indexed' functions (they were wrapped as '*Indexe', with a missing 'd'). 2009-03-29 14:27:07 +00:00
the_fiddler 7da0ca28ca Updated tokens for ARB_half_float_vertex (issue [#589]). 2009-03-28 15:40:51 +00:00
the_fiddler f50879fb7f Implemented the GL part of ARB_framebuffer_sRGB (issue [#587]) 2009-03-28 15:24:44 +00:00
the_fiddler 44560392b9 Fixed Draw*Instanced (were missing the 'd' from Instanced). Bug [#586]. 2009-03-28 14:48:20 +00:00
the_fiddler d43e16992e Updated tokens for ARB_depth_buffer_float (issue [#585]) 2009-03-28 14:44:17 +00:00
the_fiddler b49db7be89 Initial OpenGL 3.1 support. 2009-03-28 11:04:18 +00:00
the_fiddler 0c39a6c2d4 Updated version numbers and documentation for the 0.9.6 release. 2009-03-25 22:46:31 +00:00
the_fiddler 24f4c3189b * Resources.Designer.cs: Deleted unused file.
* Settings.cs: Changed default output directory to fit with the current OpenTK project structure.
* GL2/Generator.cs: Suppressed documentation warnings in the generated bindings.
2009-03-25 21:48:14 +00:00
the_fiddler 4a80a6dbd7 Disabled all generator modes other than OpenGL. 2009-03-25 19:41:10 +00:00
the_fiddler 9725870789 Merged latest OpenGL specs (registry version 48). 2009-03-25 17:56:50 +00:00
the_fiddler 7a57fbd8a7 Added automatic error checking for all OpenGL function calls (debug mode only). Begin()-End() regions are handled correctly. 2009-03-25 17:55:37 +00:00
the_fiddler 2062d231d0 Bind now maps 'void*' to generics ('ref T', 'T[]', 'T[,]' and 'T[,,]') instead of 'object'.
The doc processor can now document more OpenGL functions (e.g. GL.Color3).
Cleaned up several pieces of code in Bind (but I'm afraid it's hopeless - spaghetti code at its greatest).
2009-03-21 21:44:07 +00:00
the_fiddler b0704762f2 Updated version numbers and documentation for 0.9.5 release. 2009-03-08 22:19:00 +00:00
the_fiddler 04ebcff4fb Corrected the mapping of Byte/SByte wrappers -> entry points. Swapped CLSCompliant attribute between Byte and SByte (Bytes are, SBytes are not). 2009-03-08 22:00:13 +00:00
the_fiddler a29c32d774 Fixed the mapping between unsigned and signed wrappers -> entry points (no unsigned <-> signed casting). Regenerated bindings. 2009-03-08 19:19:52 +00:00
the_fiddler a7849e8dd9 Fixed the path separators so that they work on Unix.
Improved the output for the doc processor: MathML equations are replaced by their textual representation and whitespace better matches function declarations.
Added new configuration settings for the doc processor and the license.
Removed stale debugging code.
License.txt is now a file, not a resource.
2009-03-08 18:08:35 +00:00
the_fiddler 875263e46a Added support for inline OpenGL documentation. 2009-03-08 00:46:58 +00:00
the_fiddler 4ac210a991 Prepare for 0.9.4 release. 2009-03-01 09:55:22 +00:00
the_fiddler 01f618c00b Now prints the OpenTK license and adds the [AutoGenerated] attribute to the generated bindings. 2009-02-28 19:29:34 +00:00
the_fiddler 8ba07860e5 Merged changes from gl3 branch. 2009-02-28 18:50:16 +00:00
the_fiddler 57e271d6fe Set eol-style: native and mime-type: text/plain properties. 2009-02-28 15:28:16 +00:00
the_fiddler 9a32ce9f55 Set SVN mime-type to text/plain and eol-style to native. 2009-02-22 15:51:06 +00:00
the_fiddler a22019d890 Normalize line endings and set the mime-type=text/plain and eol-style=native properties on all files. 2009-02-22 10:43:35 +00:00
the_fiddler 04cc9238f6 Added missing tokens to BlendEquationSrc/Dest enums. 2008-07-10 15:09:29 +00:00
the_fiddler 4591218aab Fixed StencilFuncSeparate parameters types (StencilFace and StencilFunction instead of StencilFunction).
Added StencilFace enum.
2008-07-10 15:04:46 +00:00
the_fiddler 578e30c26a Fixed TexEnvMode.Replace.
Added a "press any key to continue..." message when an error happens.
2008-04-11 18:19:34 +00:00
the_fiddler 084a561ba8 Fixed GL.ReadPixels (was GL.ReadPixel) 2008-03-01 13:11:15 +00:00
the_fiddler c47b6168ad Fixed type translation. 2008-02-02 13:24:41 +00:00
the_fiddler a9e2ce4a00 Completed move of OpenTK.OpenGL to OpenTK.Graphics.OpenGL. 2008-02-02 00:58:26 +00:00
the_fiddler a249816865 Updated FBO specs with specific enums.
Fixed GL.Ext.CheckFramebufferStatus (was CheckFramebufferStat before)
Moved default namespace to OpenTK.Graphics.OpenGL.
Moved OpenTK.Graphics.OpenGL.Enums to OpenTK.Graphics.OpenGL.
2008-02-02 00:23:06 +00:00
the_fiddler 5d51050576 Fixed capitalization of Texture2D etc. 2008-01-24 09:16:49 +00:00
the_fiddler 2864c0235b Added missing tokens to TextureParameterName (were only in GetTextureParameter, when they should have been in both enums). 2008-01-22 23:01:15 +00:00
the_fiddler 40f32f4867 Documentation updates. Getting rid of all remaining warnings in debug build. 2008-01-20 19:29:42 +00:00
the_fiddler a384059b1b Updated version numbers. 2008-01-20 17:29:29 +00:00
the_fiddler d4a63df42b Added JTalton's double precision mathlib. 2008-01-20 17:14:12 +00:00
the_fiddler 8cb0f0e0b7 Fixed NewTess and DeleteTess (were NewTes and DeleteTes).
Fixed wrapper generation for functions with both pointer and generic parameters.
2008-01-19 15:25:30 +00:00
the_fiddler 2deb63cf99 Made the ParameterCollection.Rebuild property public. 2008-01-19 15:24:34 +00:00
the_fiddler 841602611f Revised TessVertex location parameter to be in array instead of out array. 2008-01-19 15:23:56 +00:00
the_fiddler 57b38ab203 Updated typemaping of TessObj, NurbObj and QuadricObj and FunctionPointer. 2008-01-19 15:23:18 +00:00
the_fiddler ef52e1106d Updated version numbers. 2008-01-15 16:44:17 +00:00
the_fiddler 0a7e34a7ec Fixed gluTextFilterSGI which had a wrong enum defined as parameter. 2008-01-15 09:34:34 +00:00
the_fiddler e65c0c13e7 Fixed a possible NRE (raised with Glu) 2008-01-15 09:34:01 +00:00
the_fiddler 1147e80213 Fixed wgl*Context functions being turned into Ext.wgl*Cont 2008-01-15 09:23:53 +00:00
the_fiddler 860234010f Removed some unsused code. 2008-01-15 09:23:12 +00:00
the_fiddler 2ed3306174 Fixed public/internal mismatch in the generated bindings.
Disabled missing xml doc warnings in the generated bindings.
2008-01-15 09:22:49 +00:00
the_fiddler fcf18beee8 Bumped version number. 2008-01-15 00:10:04 +00:00
the_fiddler b5154adb63 Start of ARB_imaging enum cleanup. 2008-01-14 23:42:47 +00:00
the_fiddler de84cb59a2 Added DrawElementsMode enum for the DrawElements function. 2008-01-14 23:42:32 +00:00
the_fiddler 1e0ed3c477 Added setting to DropMultipleTokens. Disabled this functionality (caused problems with some enums) 2008-01-14 23:41:53 +00:00
the_fiddler fd1bdcc0b6 Bumped version number. 2008-01-06 02:18:27 +00:00
the_fiddler 09127b61d3 Specific enums for ARB vertex/fragment program (asm). 2008-01-03 16:53:40 +00:00
the_fiddler 590be49d64 Commented out the VERSION_2_1 enum. 2008-01-03 13:38:10 +00:00
the_fiddler b9c1d16ca7 Specific enums for Version21 feature: "Raster Secondary Color".
Added reference for Version21 "Active Uniform" update.
2008-01-03 13:37:40 +00:00
the_fiddler f39c2d55ef Specific enums for Version21 feature: "GLSL shaders ". 2008-01-03 13:32:54 +00:00
the_fiddler c91a841dd3 Small cosmetic change in Point Sprites. 2008-01-03 13:31:04 +00:00
the_fiddler 272e82a0c8 Commented out the VERSION_2_0 enum. 2008-01-03 13:22:58 +00:00
the_fiddler 320d2b66fb Specific enums for Version20 feature: "Point Sprites". 2008-01-03 13:22:13 +00:00
the_fiddler d2e51fe3d2 Specific enums for Version20 feature: "Two Side Stencil". 2008-01-03 13:09:15 +00:00
the_fiddler 28fa037391 Fixed Ati namespace (was Ata instead). 2008-01-03 13:08:59 +00:00
the_fiddler 11ea0da741 Specific enums for Version20 feature: "GLSL Shaders" (updated GetShader/GetProgram). 2008-01-03 12:57:18 +00:00
the_fiddler 57a28a5b2b Specific enums for Version20 feature: "GLSL Shaders".
Added MatrixMode.Color enum.
2008-01-03 12:36:24 +00:00
the_fiddler 2c680b09e3 Specific enums for Version13 feature: "Texture Parameter (CLAMP_TO_BORDER)". 2008-01-03 01:53:11 +00:00
the_fiddler 4662f6ace9 Specific enums for Version14 features: "Generate Mipmaps and Stencil Wrap". 2008-01-03 01:44:52 +00:00
the_fiddler ddc2abe155 Specific enums for Version14 feature: "Texture LOD Bias". 2008-01-03 01:38:44 +00:00
the_fiddler 457cb77ee9 Specific enums for Version14 feature: "Blendfunc Separate". 2008-01-03 01:37:03 +00:00
the_fiddler e6ca7f65fa Specific enums for Version13 feature: "Multisample". 2008-01-03 01:33:08 +00:00
the_fiddler c12b42d241 Specific enums for Version13 features "Texture Env Combine, Crossbar and Dot3". 2008-01-03 01:27:45 +00:00
the_fiddler aa3be5801f Temporary fix for GetShaderiv, until specific enums for Version20 are added. 2008-01-03 00:55:27 +00:00
the_fiddler fd800ad319 Specific enums for all Version12 features "Light Model, Rescale Normal, Draw Range Elemenets, 3d textures". 2008-01-03 00:54:46 +00:00
the_fiddler 1ae880a266 Fixed a possible null key exception when no AuxEnums are loaded. 2008-01-03 00:52:55 +00:00
the_fiddler 424c0b17dd Duplicate enums are now dropped (Core > ARB > EXT > Vendor-specific).
Final values are calculated for all tokens (no "Foo = (int)Bar.Baz" anymore)
EnumCollection keys are now updated after translating the enums.
2008-01-03 00:08:49 +00:00
the_fiddler 9d4d71b2d7 GetGL2Extension now works for both uppercase and lowercase strings. 2008-01-03 00:06:55 +00:00