projects
/
wxWidgets.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Fix numpad Del not working in wxRTC
[wxWidgets.git]
/
src
/
common
/
quantize.cpp
diff --git
a/src/common/quantize.cpp
b/src/common/quantize.cpp
index a29113876e5ab86dd6634c1ddfdab162b7ec388c..57b311ec3a93b5b18b9791cf7020d1327a1a6816 100644
(file)
--- a/
src/common/quantize.cpp
+++ b/
src/common/quantize.cpp
@@
-1,5
+1,5
@@
/////////////////////////////////////////////////////////////////////////////
/////////////////////////////////////////////////////////////////////////////
-// Name: quantize.cpp
+// Name:
src/common/
quantize.cpp
// Purpose: wxQuantize implementation
// Author: Julian Smart
// Modified by:
// Purpose: wxQuantize implementation
// Author: Julian Smart
// Modified by:
@@
-30,10
+30,6
@@
/* modified by Vaclav Slavik for use as jpeglib-independent module */
/* modified by Vaclav Slavik for use as jpeglib-independent module */
-#ifdef __GNUG__
-#pragma implementation "quantize.h"
-#endif
-
// For compilers that support precompilation, includes "wx/wx.h".
#include "wx/wxprec.h"
// For compilers that support precompilation, includes "wx/wx.h".
#include "wx/wxprec.h"
@@
-41,14
+37,17
@@
#pragma hdrstop
#endif
#pragma hdrstop
#endif
-#ifndef WX_PRECOMP
-#endif
+#if wxUSE_IMAGE
-#include "wx/image.h"
#include "wx/quantize.h"
#include "wx/quantize.h"
+#ifndef WX_PRECOMP
+ #include "wx/palette.h"
+ #include "wx/image.h"
+#endif
+
#ifdef __WXMSW__
#ifdef __WXMSW__
-#include <windows.h>
+ #include "wx/msw/private.h"
#endif
#include <stdlib.h>
#endif
#include <stdlib.h>
@@
-74,7
+73,9
@@
typedef unsigned short UINT16;
typedef signed short INT16;
typedef unsigned short UINT16;
typedef signed short INT16;
+#if !(defined(__WATCOMC__) && (defined(__WXMSW__) || defined(__WXMOTIF__)))
typedef signed int INT32;
typedef signed int INT32;
+#endif
typedef unsigned char JSAMPLE;
typedef JSAMPLE *JSAMPROW;
typedef unsigned char JSAMPLE;
typedef JSAMPLE *JSAMPROW;
@@
-334,7
+335,7
@@
typedef my_cquantizer * my_cquantize_ptr;
void
prescan_quantize (j_decompress_ptr cinfo, JSAMPARRAY input_buf,
void
prescan_quantize (j_decompress_ptr cinfo, JSAMPARRAY input_buf,
- JSAMPARRAY
output_buf
, int num_rows)
+ JSAMPARRAY
WXUNUSED(output_buf)
, int num_rows)
{
my_cquantize_ptr cquantize = (my_cquantize_ptr) cinfo->cquantize;
register JSAMPROW ptr;
{
my_cquantize_ptr cquantize = (my_cquantize_ptr) cinfo->cquantize;
register JSAMPROW ptr;
@@
-1113,13
+1114,13
@@
pass2_fs_dither (j_decompress_ptr cinfo,
dir = -1;
dir3 = -3;
errorptr = cquantize->fserrors + (width+1)*3; /* => entry after last column */
dir = -1;
dir3 = -3;
errorptr = cquantize->fserrors + (width+1)*3; /* => entry after last column */
- cquantize->on_odd_row =
FALSE
; /* flip for next time */
+ cquantize->on_odd_row =
false
; /* flip for next time */
} else {
/* work left to right in this row */
dir = 1;
dir3 = 3;
errorptr = cquantize->fserrors; /* => entry before first real column */
} else {
/* work left to right in this row */
dir = 1;
dir3 = 3;
errorptr = cquantize->fserrors; /* => entry before first real column */
- cquantize->on_odd_row =
TRUE
; /* flip for next time */
+ cquantize->on_odd_row =
true
; /* flip for next time */
}
/* Preset error values: no error propagated to first pixel from left */
cur0 = cur1 = cur2 = 0;
}
/* Preset error values: no error propagated to first pixel from left */
cur0 = cur1 = cur2 = 0;
@@
-1279,12
+1280,12
@@
finish_pass1 (j_decompress_ptr cinfo)
cinfo->colormap = cquantize->sv_colormap;
select_colors(cinfo, cquantize->desired);
/* Force next pass to zero the color index table */
cinfo->colormap = cquantize->sv_colormap;
select_colors(cinfo, cquantize->desired);
/* Force next pass to zero the color index table */
- cquantize->needs_zeroed =
TRUE
;
+ cquantize->needs_zeroed =
true
;
}
void
}
void
-finish_pass2 (j_decompress_ptr
cinfo
)
+finish_pass2 (j_decompress_ptr
WXUNUSED(cinfo)
)
{
/* no work */
}
{
/* no work */
}
@@
-1299,21
+1300,17
@@
start_pass_2_quant (j_decompress_ptr cinfo, bool is_pre_scan)
{
my_cquantize_ptr cquantize = (my_cquantize_ptr) cinfo->cquantize;
hist3d histogram = cquantize->histogram;
{
my_cquantize_ptr cquantize = (my_cquantize_ptr) cinfo->cquantize;
hist3d histogram = cquantize->histogram;
- int i;
if (is_pre_scan) {
/* Set up method pointers */
cquantize->pub.color_quantize = prescan_quantize;
cquantize->pub.finish_pass = finish_pass1;
if (is_pre_scan) {
/* Set up method pointers */
cquantize->pub.color_quantize = prescan_quantize;
cquantize->pub.finish_pass = finish_pass1;
- cquantize->needs_zeroed =
TRUE
; /* Always zero histogram */
+ cquantize->needs_zeroed =
true
; /* Always zero histogram */
} else {
/* Set up method pointers */
cquantize->pub.color_quantize = pass2_fs_dither;
cquantize->pub.finish_pass = finish_pass2;
} else {
/* Set up method pointers */
cquantize->pub.color_quantize = pass2_fs_dither;
cquantize->pub.finish_pass = finish_pass2;
- /* Make sure color count is acceptable */
- i = cinfo->actual_number_of_colors;
-
{
size_t arraysize = (size_t) ((cinfo->output_width + 2) *
(3 * sizeof(FSERROR)));
{
size_t arraysize = (size_t) ((cinfo->output_width + 2) *
(3 * sizeof(FSERROR)));
@@
-1325,17
+1322,17
@@
start_pass_2_quant (j_decompress_ptr cinfo, bool is_pre_scan)
/* Make the error-limit table if we didn't already. */
if (cquantize->error_limiter == NULL)
init_error_limit(cinfo);
/* Make the error-limit table if we didn't already. */
if (cquantize->error_limiter == NULL)
init_error_limit(cinfo);
- cquantize->on_odd_row =
FALSE
;
+ cquantize->on_odd_row =
false
;
}
}
/* Zero the histogram or inverse color map, if necessary */
if (cquantize->needs_zeroed) {
}
}
/* Zero the histogram or inverse color map, if necessary */
if (cquantize->needs_zeroed) {
- for (i = 0; i < HIST_C0_ELEMS; i++) {
+ for (i
nt i
= 0; i < HIST_C0_ELEMS; i++) {
memset((void *) histogram[i], 0,
HIST_C1_ELEMS*HIST_C2_ELEMS * sizeof(histcell));
}
memset((void *) histogram[i], 0,
HIST_C1_ELEMS*HIST_C2_ELEMS * sizeof(histcell));
}
- cquantize->needs_zeroed =
FALSE
;
+ cquantize->needs_zeroed =
false
;
}
}
}
}
@@
-1350,7
+1347,7
@@
new_color_map_2_quant (j_decompress_ptr cinfo)
my_cquantize_ptr cquantize = (my_cquantize_ptr) cinfo->cquantize;
/* Reset the inverse color map */
my_cquantize_ptr cquantize = (my_cquantize_ptr) cinfo->cquantize;
/* Reset the inverse color map */
- cquantize->needs_zeroed =
TRUE
;
+ cquantize->needs_zeroed =
true
;
}
}
@@
-1377,7
+1374,7
@@
jinit_2pass_quantizer (j_decompress_ptr cinfo)
for (i = 0; i < HIST_C0_ELEMS; i++) {
cquantize->histogram[i] = (hist2d) malloc(HIST_C1_ELEMS*HIST_C2_ELEMS * sizeof(histcell));
}
for (i = 0; i < HIST_C0_ELEMS; i++) {
cquantize->histogram[i] = (hist2d) malloc(HIST_C1_ELEMS*HIST_C2_ELEMS * sizeof(histcell));
}
- cquantize->needs_zeroed =
TRUE
; /* histogram is garbage now */
+ cquantize->needs_zeroed =
true
; /* histogram is garbage now */
/* Allocate storage for the completed colormap, if required.
* We do this now since it is storage and may affect
/* Allocate storage for the completed colormap, if required.
* We do this now since it is storage and may affect
@@
-1466,11
+1463,11
@@
void wxQuantize::DoQuantize(unsigned w, unsigned h, unsigned char **in_rows, uns
cquantize = (my_cquantize_ptr) dec.cquantize;
cquantize = (my_cquantize_ptr) dec.cquantize;
- cquantize->pub.start_pass(&dec,
TRUE
);
+ cquantize->pub.start_pass(&dec,
true
);
cquantize->pub.color_quantize(&dec, in_rows, out_rows, h);
cquantize->pub.finish_pass(&dec);
cquantize->pub.color_quantize(&dec, in_rows, out_rows, h);
cquantize->pub.finish_pass(&dec);
- cquantize->pub.start_pass(&dec,
FALSE
);
+ cquantize->pub.start_pass(&dec,
false
);
cquantize->pub.color_quantize(&dec, in_rows, out_rows, h);
cquantize->pub.finish_pass(&dec);
cquantize->pub.color_quantize(&dec, in_rows, out_rows, h);
cquantize->pub.finish_pass(&dec);
@@
-1507,8
+1504,6
@@
bool wxQuantize::Quantize(const wxImage& src, wxImage& dest,
{
int i;
{
int i;
- int w = src.GetWidth();
- int h = src.GetHeight();
int windowsSystemColourCount = 20;
int windowsSystemColourCount = 20;
@@
-1526,8
+1521,9
@@
bool wxQuantize::Quantize(const wxImage& src, wxImage& dest,
#endif
// create rows info:
#endif
// create rows info:
+ int h = src.GetHeight();
+ int w = src.GetWidth();
unsigned char **rows = new unsigned char *[h];
unsigned char **rows = new unsigned char *[h];
- h = src.GetHeight(), w = src.GetWidth();
unsigned char *imgdt = src.GetData();
for (i = 0; i < h; i++)
rows[i] = imgdt + 3/*RGB*/ * w * i;
unsigned char *imgdt = src.GetData();
for (i = 0; i < h; i++)
rows[i] = imgdt + 3/*RGB*/ * w * i;
@@
-1571,7
+1567,7
@@
bool wxQuantize::Quantize(const wxImage& src, wxImage& dest,
// We need to shift the palette entries up
// to make room for the Windows system colours.
for (i = 0; i < w * h; i++)
// We need to shift the palette entries up
// to make room for the Windows system colours.
for (i = 0; i < w * h; i++)
- data8bit[i] =
data8bit[i] + paletteShift
;
+ data8bit[i] =
(unsigned char)(data8bit[i] + paletteShift)
;
}
#endif
*eightBitData = data8bit;
}
#endif
*eightBitData = data8bit;
@@
-1580,7
+1576,7
@@
bool wxQuantize::Quantize(const wxImage& src, wxImage& dest,
delete[] data8bit;
#if wxUSE_PALETTE
delete[] data8bit;
#if wxUSE_PALETTE
- // Make a wxWi
ndow
s palette
+ // Make a wxWi
dget
s palette
if (pPalette)
{
unsigned char* r = new unsigned char[256];
if (pPalette)
{
unsigned char* r = new unsigned char[256];
@@
-1625,9
+1621,11
@@
bool wxQuantize::Quantize(const wxImage& src, wxImage& dest,
delete[] g;
delete[] b;
}
delete[] g;
delete[] b;
}
-#endif // wxUSE_PALETTE
+#else // !wxUSE_PALETTE
+ wxUnusedVar(pPalette);
+#endif // wxUSE_PALETTE/!wxUSE_PALETTE
- return
TRUE
;
+ return
true
;
}
// This version sets a palette in the destination image so you don't
}
// This version sets a palette in the destination image so you don't
@@
-1641,7
+1639,7
@@
bool wxQuantize::Quantize(const wxImage& src,
{
wxPalette* palette = NULL;
if ( !Quantize(src, dest, & palette, desiredNoColours, eightBitData, flags) )
{
wxPalette* palette = NULL;
if ( !Quantize(src, dest, & palette, desiredNoColours, eightBitData, flags) )
- return
FALSE
;
+ return
false
;
#if wxUSE_PALETTE
if (palette)
#if wxUSE_PALETTE
if (palette)
@@
-1651,6
+1649,8
@@
bool wxQuantize::Quantize(const wxImage& src,
}
#endif // wxUSE_PALETTE
}
#endif // wxUSE_PALETTE
- return
TRUE
;
+ return
true
;
}
}
+#endif
+ // wxUSE_IMAGE