Added a new overload of wxDecToHex and used it in wxRichTextImageBlock::WriteHex

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@46405 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
Julian Smart
2007-06-11 17:16:59 +00:00
parent 4e5b3a4eb5
commit f728025eae
3 changed files with 12 additions and 14 deletions

View File

@@ -290,6 +290,7 @@ WXDLLIMPEXP_BASE int wxHexToDec(const wxString& buf);
// Convert decimal integer to 2-character hex string // Convert decimal integer to 2-character hex string
WXDLLIMPEXP_BASE void wxDecToHex(int dec, wxChar *buf); WXDLLIMPEXP_BASE void wxDecToHex(int dec, wxChar *buf);
WXDLLIMPEXP_BASE void wxDecToHex(int dec, char* ch1, char* ch2);
WXDLLIMPEXP_BASE wxString wxDecToHex(int dec); WXDLLIMPEXP_BASE wxString wxDecToHex(int dec);
// ---------------------------------------------------------------------------- // ----------------------------------------------------------------------------

View File

@@ -140,6 +140,15 @@ void wxDecToHex(int dec, wxChar *buf)
buf[2] = 0; buf[2] = 0;
} }
// Convert decimal integer to 2 characters
void wxDecToHex(int dec, char* ch1, char* ch2)
{
int firstDigit = (int)(dec/16.0);
int secondDigit = (int)(dec - (firstDigit*16.0));
(*ch1) = (char) hexArray[firstDigit];
(*ch2) = (char) hexArray[secondDigit];
}
// Convert decimal integer to 2-character hex string // Convert decimal integer to 2-character hex string
wxString wxDecToHex(int dec) wxString wxDecToHex(int dec)
{ {
@@ -821,7 +830,7 @@ bool wxLaunchDefaultBrowser(const wxString& urlOrig, int flags)
wxLogDebug(wxT("ICStart error %d"), (int) err); wxLogDebug(wxT("ICStart error %d"), (int) err);
return false; return false;
} }
#else #else
// (non-Mac, non-MSW) // (non-Mac, non-MSW)
#ifdef __UNIX__ #ifdef __UNIX__

View File

@@ -8170,18 +8170,6 @@ bool wxRichTextImageBlock::Load(wxImage& image)
return success; return success;
} }
// Array used in DecToHex conversion routine.
static char hexArray[] = "0123456789ABCDEF";
// Convert decimal integer to 2-character hex string
inline void wxRichTextDecToHex(int dec, char* buf)
{
int firstDigit = (int)(dec/16.0);
int secondDigit = (int)(dec - (firstDigit*16.0));
buf[0] = hexArray[firstDigit];
buf[1] = hexArray[secondDigit];
}
// Write data in hex to a stream // Write data in hex to a stream
bool wxRichTextImageBlock::WriteHex(wxOutputStream& stream) bool wxRichTextImageBlock::WriteHex(wxOutputStream& stream)
{ {
@@ -8205,7 +8193,7 @@ bool wxRichTextImageBlock::WriteHex(wxOutputStream& stream)
char* b = buf; char* b = buf;
for (i = 0; i < (n/2); i++) for (i = 0; i < (n/2); i++)
{ {
wxRichTextDecToHex(m_data[j], b); wxDecToHex(m_data[j], b, b+1);
b += 2; j ++; b += 2; j ++;
} }