454 : wxMDIChildFrame(parent, wxID_ANY, title, wxDefaultPosition, wxSize(750,900),
455 wxDEFAULT_FRAME_STYLE | wxNO_FULL_REPAINT_ON_RESIZE)
456{
460
462
463 SetSizeHints(750, 900);
464
465
466 m_panel =
new wxPanel(
this, wxID_ANY, wxDefaultPosition, wxDefaultSize, wxCLIP_CHILDREN);
467
468 wxSizer *sizerTop = new wxBoxSizer(wxVERTICAL);
469 wxSizer *sizerBox =
new wxStaticBoxSizer(
new wxStaticBox(
m_panel, wxID_ANY, _T(
"&Profile Header")), wxVERTICAL);
470
471
489 }
495
496 sizerTop->Add(sizerBox, wxSizerFlags().Expand().Border(wxALL, 5));
497
498 wxSizer *sizerBtn = new wxBoxSizer(wxHORIZONTAL);
500 sizerBtn->Add(
new wxButton(
m_panel,
ID_ROUND_TRIP, _(
"&Round Trip Report")), wxSizerFlags().Border(wxRIGHT, 5));
501 }
503
504 sizerTop->Add(sizerBtn, wxSizerFlags().Right());
505
506 wxSizer *sizerLabel = new wxBoxSizer(wxHORIZONTAL);
507 sizerLabel->Add(
new wxStaticText(
m_panel, wxID_ANY, _(
"Profile Tags")), wxSizerFlags().Border(wxLEFT, 5));
508
509 sizerTop->Add(sizerLabel, wxSizerFlags().Left());
510
512 wxSizer *sizerTags = new wxBoxSizer(wxVERTICAL);
513 sizerTags->Add(
m_tagsCtrl, wxSizerFlags(1).Expand().Border(wxALL, 0));
514 sizerTags->SetItemMinSize((size_t)0, 455, 175);
515 sizerTop->Add(sizerTags, wxSizerFlags(1).Expand().Border(wxALL, 5));
516
517 m_tagsCtrl->InsertColumn(0, _(
"#"), wxLIST_FORMAT_RIGHT, 30);
518 m_tagsCtrl->InsertColumn(1, _(
"Tag ID"), wxLIST_FORMAT_LEFT, 210);
519 m_tagsCtrl->InsertColumn(2, _(
"Tag Type"), wxLIST_FORMAT_LEFT, 210);
520 m_tagsCtrl->InsertColumn(3, _(
"Offset"), wxLIST_FORMAT_RIGHT, 100);
521 m_tagsCtrl->InsertColumn(4, _(
"Size"), wxLIST_FORMAT_RIGHT, 100);
522 m_tagsCtrl->InsertColumn(5, _(
"Padding"), wxLIST_FORMAT_RIGHT, 100);
523
524
525
526 sizerTop->SetSizeHints( this );
527
529
531 char buf[64];
532 int n;
533 wxString str;
534
535 if (pHdr) {
536
537 str.Empty();
538 for (n = 0; n < 16; n++) {
540 if (n && !(n % 4))
541 str += " ";
542 str += buf;
543 }
545 m_textSize->SetLabel(wxString::Format(_T(
"%d (0x%x) bytes"), pHdr->
size, pHdr->
size));
561 else
563
565
568
569 m_textIlluminant->SetLabel(wxString::Format(_T(
"X=%.4lf, Y=%.4lf, Z=%.4lf"),
579 }
580 else {
582 }
583
589 }
590 else {
592 }
593
596 }
597 else {
599 }
600
601 int item, closest, pad;
602 TagEntryList::iterator i, j;
603
604 for (n = 0, i = pIcc->m_Tags->begin(); i != pIcc->m_Tags->end(); i++, n++) {
605 item =
m_tagsCtrl->InsertItem(n, wxString::Format(
"%d", n));
606
607
608 closest = pHdr->
size;
609 for (j = pIcc->m_Tags->begin(); j != pIcc->m_Tags->end(); j++) {
610 if ((i != j) && (j->TagInfo.offset >= i->TagInfo.offset + i->TagInfo.size) && ((int)j->TagInfo.offset <= closest)) {
611 closest = j->TagInfo.offset;
612 }
613 }
614
615
616 pad = closest - i->TagInfo.offset - i->TagInfo.size;
617
619 CIccTag* pTag = pIcc->FindTag(i->TagInfo.sig);
620 if (!pTag)
621 m_tagsCtrl->SetItem(item, 2, _T(
"***Invalid Tag!***"));
622 else
624
625 m_tagsCtrl->SetItem(item, 3, wxString::Format(
"%d", i->TagInfo.offset));
626 m_tagsCtrl->SetItem(item, 4, wxString::Format(
"%d", i->TagInfo.size));
627 m_tagsCtrl->SetItem(item, 5, wxString::Format(
"%d", pad));
628
629 m_tagsCtrl->SetItemData(item, (
long)i->TagInfo.sig);
630 }
631 }
633}
icSpectralRange spectralRange
Definition icProfileHeader.h:2063
icXYZNumber illuminant
Definition icProfileHeader.h:2058
icUInt32Number renderingIntent
Definition icProfileHeader.h:2057
icUInt64Number attributes
Definition icProfileHeader.h:2056
icColorSpaceSignature colorSpace
Definition icProfileHeader.h:2048
icUInt16Number year
Definition icProfileHeader.h:1419
icProfileClassSignature deviceClass
Definition icProfileHeader.h:2047
icUInt16Number month
Definition icProfileHeader.h:1420
icUInt16Number minutes
Definition icProfileHeader.h:1423
icUInt16Number steps
Definition icProfileHeader.h:1469
icS15Fixed16Number Y
Definition icProfileHeader.h:1430
icUInt16Number seconds
Definition icProfileHeader.h:1424
icSignature deviceSubClass
Definition icProfileHeader.h:2066
icSignature cmmId
Definition icProfileHeader.h:2045
icSpectralColorSignature spectralPCS
Definition icProfileHeader.h:2062
icColorSpaceSignature
Definition icProfileHeader.h:843
icFloat16Number start
Definition icProfileHeader.h:1467
icUInt16Number hours
Definition icProfileHeader.h:1422
icDateTimeNumber date
Definition icProfileHeader.h:2050
icPlatformSignature platform
Definition icProfileHeader.h:2052
#define icVersionNumberV5
Definition icProfileHeader.h:193
icFloat16Number end
Definition icProfileHeader.h:1468
icS15Fixed16Number Z
Definition icProfileHeader.h:1431
icS15Fixed16Number X
Definition icProfileHeader.h:1429
icSignature creator
Definition icProfileHeader.h:2059
icUInt32Number flags
Definition icProfileHeader.h:2053
icUInt16Number day
Definition icProfileHeader.h:1421
icUInt32Number version
Definition icProfileHeader.h:2046
icMaterialColorSignature mcs
Definition icProfileHeader.h:2065
icProfileID profileID
Definition icProfileHeader.h:2060
icRenderingIntent
Definition icProfileHeader.h:1142
icUInt32Number size
Definition icProfileHeader.h:2044
icSpectralRange biSpectralRange
Definition icProfileHeader.h:2064
icSignature manufacturer
Definition icProfileHeader.h:2054
icCmmSignature
Definition icProfileHeader.h:985
icColorSpaceSignature pcs
Definition icProfileHeader.h:2049
icUInt8Number ID8[16]
Definition icProfileHeader.h:2037
Definition icProfileHeader.h:2043
ICCPROFLIB_API icFloatNumber icFtoD(icS15Fixed16Number num)
Definition IccUtil.cpp:559
ICCPROFLIB_API const icChar * icGetSig(icChar *pBuf, icUInt32Number sig, bool bGetHexVal=true)
Definition IccUtil.cpp:1028
ICCPROFLIB_API icFloat32Number icF16toF(icFloat16Number num)
Definition IccUtil.cpp:629
wxList my_children
Definition wxProfileDump.cpp:125
#define ID_ROUND_TRIP
Definition wxProfileDump.cpp:139
#define ID_TAG_LIST
Definition wxProfileDump.cpp:138
#define ID_VALIDATE_PROFILE
Definition wxProfileDump.cpp:137
static bool IsRoundTripable(CIccProfile *pIcc)
Definition wxProfileDump.cpp:428
#define wxT(x)
Definition wxProfileDump.cpp:116
const icChar * GetVersionName(icUInt32Number val)
Definition IccUtil.cpp:1428
const icChar * GetSpectralColorSigName(icSpectralColorSignature sig)
Definition IccUtil.cpp:1769
const icChar * GetCmmSigName(icCmmSignature sig)
Definition IccUtil.cpp:1874
const icChar * GetProfileClassSigName(icProfileClassSignature sig)
Definition IccUtil.cpp:1804
const icChar * GetTagSigName(icTagSignature sig)
Definition IccUtil.cpp:1495
const icChar * GetProfileFlagsName(icUInt32Number val, bool bCheckMCS=false)
Definition IccUtil.cpp:1465
const icChar * GetPlatformSigName(icPlatformSignature sig)
Definition IccUtil.cpp:1845
const icChar * GetColorSpaceSigName(icColorSpaceSignature sig)
Definition IccUtil.cpp:1640
const icChar * GetTagTypeSigName(icTagTypeSignature sig)
Definition IccUtil.cpp:1594
const icChar * GetDeviceAttrName(icUInt64Number val)
Definition IccUtil.cpp:1448
const icChar * GetSubClassVersionName(icUInt32Number val)
Definition IccUtil.cpp:1438
const icChar * GetRenderingIntentName(icRenderingIntent val, bool bIsV5=false)
Definition IccUtil.cpp:2091
Definition IccTagBasic.h:108
virtual icTagTypeSignature GetType() const
Definition IccTagBasic.h:131
wxStaticText * m_textIlluminant
Definition wxProfileDump.h:168
CIccProfile * m_pIcc
Definition wxProfileDump.h:155
wxStaticText * m_textAttribute
Definition wxProfileDump.h:161
wxStaticText * m_textDeviceManufacturer
Definition wxProfileDump.h:171
wxStaticText * m_textSubClass
Definition wxProfileDump.h:179
wxStaticText * m_textFlags
Definition wxProfileDump.h:167
wxSizer * CreateSizerWithText(const wxString &labelText, wxStaticText **ppText)
Definition wxProfileDump.cpp:642
wxStaticText * m_textPlatform
Definition wxProfileDump.h:170
wxStaticText * m_textRenderingIntent
Definition wxProfileDump.h:173
wxStaticText * m_textSpectralWavelengths
Definition wxProfileDump.h:175
wxStaticText * m_textCreator
Definition wxProfileDump.h:166
wxStaticText * m_textSize
Definition wxProfileDump.h:177
wxStaticText * m_textBiSpectralWavelengths
Definition wxProfileDump.h:162
wxStaticText * m_textClass
Definition wxProfileDump.h:178
wxStaticText * m_textColorSpace
Definition wxProfileDump.h:164
wxStaticText * m_textSpectralPCS
Definition wxProfileDump.h:174
wxStaticText * m_textProfileID
Definition wxProfileDump.h:172
wxListCtrl * m_tagsCtrl
Definition wxProfileDump.h:159
wxString m_profilePath
Definition wxProfileDump.h:156
wxPanel * m_panel
Definition wxProfileDump.h:158
wxStaticText * m_textPCS
Definition wxProfileDump.h:169
wxStaticText * m_textSubClassVersion
Definition wxProfileDump.h:181
wxStaticText * m_textCMM
Definition wxProfileDump.h:163
wxStaticText * m_textVersion
Definition wxProfileDump.h:180
wxStaticText * m_textCreationDate
Definition wxProfileDump.h:165
wxStaticText * m_textMaterialColorSpace
Definition wxProfileDump.h:176