IccMAX 2.1.27
Color Profile Tools
Loading...
Searching...
No Matches
MyRoundTripDialog Class Reference

#include <wxProfileDump.h>

+ Inheritance diagram for MyRoundTripDialog:
+ Collaboration diagram for MyRoundTripDialog:

Public Member Functions

 MyRoundTripDialog (wxWindow *pParent, const wxString &title, wxString &profilePath, CIccProfile *pIcc)
 

Data Fields

wxString m_profilePath
 

Detailed Description

Constructor & Destructor Documentation

◆ MyRoundTripDialog()

MyRoundTripDialog::MyRoundTripDialog ( wxWindow *  pParent,
const wxString &  title,
wxString &  profilePath,
CIccProfile pIcc 
)
1034 :
1035 wxDialog(pParent, wxID_ANY, title,wxDefaultPosition, wxDefaultSize, wxDEFAULT_DIALOG_STYLE | wxRESIZE_BORDER)
1036{
1037 wxSizer *sizer = new wxBoxSizer(wxVERTICAL);
1038 wxSize winSize = winSize = wxSize(500, 400);
1039 wxTextCtrl *textReport = new wxTextCtrl(this, wxID_ANY, wxEmptyString, wxDefaultPosition, winSize,
1040 wxTE_MULTILINE |wxTE_READONLY | wxTE_RICH);
1041
1042 sizer->Add(textReport, wxSizerFlags(1).Expand());
1043
1044 wxString theReport;
1045
1046 if (profilePath.IsEmpty()) {
1047 theReport = "Invalid Profile Path\n";
1048 }
1049 else {
1050 bool bRelative = false;
1051
1052 wxBeginBusyCursor();
1053
1054 //Check colorimetric rendering intents
1055 if (pIcc->FindTag(icSigAToB1Tag) && pIcc->FindTag(icSigBToA1Tag)) {
1056 theReport += AnalyzeRoundTrip(profilePath, icRelativeColorimetric, false);
1057 bRelative = true;
1058 }
1059 if (pIcc->FindTag(icSigDToB1Tag) && pIcc->FindTag(icSigBToD1Tag)) {
1060 theReport += AnalyzeRoundTrip(profilePath, icRelativeColorimetric, true);
1061 bRelative = true;
1062 }
1063 if (!bRelative &&
1064 (pIcc->FindTag(icSigRedMatrixColumnTag) && pIcc->FindTag(icSigGreenMatrixColumnTag) && pIcc->FindTag(icSigBlueMatrixColumnTag) &&
1065 pIcc->FindTag(icSigRedTRCTag) && pIcc->FindTag(icSigGreenTRCTag) && pIcc->FindTag(icSigBlueTRCTag))) {
1066 theReport += AnalyzeRoundTrip(profilePath, icRelativeColorimetric, false);
1067 bRelative = true;
1068 }
1069
1070 //Check MPE absolute intent
1071 if (pIcc->FindTag(icSigDToB3Tag) && pIcc->FindTag(icSigBToD3Tag)) {
1072 theReport += AnalyzeRoundTrip(profilePath, icAbsoluteColorimetric, true);
1073 bRelative = true;
1074 }
1075
1076 //Perceptual intent
1077 if (pIcc->FindTag(icSigAToB0Tag) && pIcc->FindTag(icSigBToA0Tag)) {
1078 theReport += AnalyzeRoundTrip(profilePath, icPerceptual, false);
1079 bRelative = true;
1080 }
1081 if (pIcc->FindTag(icSigDToB0Tag) && pIcc->FindTag(icSigBToD0Tag)) {
1082 theReport += AnalyzeRoundTrip(profilePath, icPerceptual, true);
1083 bRelative = true;
1084 }
1085
1086 //Saturation intent
1087 if (pIcc->FindTag(icSigAToB2Tag) && pIcc->FindTag(icSigBToA2Tag)) {
1088 theReport += AnalyzeRoundTrip(profilePath, icSaturation, false);
1089 bRelative = true;
1090 }
1091 if (pIcc->FindTag(icSigDToB2Tag) && pIcc->FindTag(icSigBToD2Tag)) {
1092 theReport += AnalyzeRoundTrip(profilePath, icSaturation, true);
1093 bRelative = true;
1094 }
1095
1096 wxEndBusyCursor();
1097
1098 if (theReport.IsEmpty())
1099 theReport = "There is nothing to report\n";
1100 }
1101
1102 textReport->SetLabel(theReport);
1103
1104 SetSizer(sizer);
1105 sizer->Fit(this);
1106}
@ icSigBToD0Tag
Definition icProfileHeader.h:408
@ icSigBToA2Tag
Definition icProfileHeader.h:376
@ icSigBlueMatrixColumnTag
Definition icProfileHeader.h:348
@ icSigGreenTRCTag
Definition icProfileHeader.h:424
@ icSigBToD2Tag
Definition icProfileHeader.h:410
@ icSigAToB0Tag
Definition icProfileHeader.h:342
@ icSigBToA1Tag
Definition icProfileHeader.h:375
@ icSigDToB3Tag
Definition icProfileHeader.h:407
@ icSigAToB2Tag
Definition icProfileHeader.h:344
@ icSigDToB0Tag
Definition icProfileHeader.h:404
@ icSigBToD3Tag
Definition icProfileHeader.h:411
@ icSigBToA0Tag
Definition icProfileHeader.h:374
@ icSigRedTRCTag
Definition icProfileHeader.h:463
@ icSigBToD1Tag
Definition icProfileHeader.h:409
@ icSigBlueTRCTag
Definition icProfileHeader.h:349
@ icSigGreenMatrixColumnTag
Definition icProfileHeader.h:423
@ icSigAToB1Tag
Definition icProfileHeader.h:343
@ icSigDToB2Tag
Definition icProfileHeader.h:406
@ icSigRedMatrixColumnTag
Definition icProfileHeader.h:462
@ icSigDToB1Tag
Definition icProfileHeader.h:405
@ icPerceptual
Definition icProfileHeader.h:1143
@ icRelativeColorimetric
Definition icProfileHeader.h:1144
@ icAbsoluteColorimetric
Definition icProfileHeader.h:1147
@ icSaturation
Definition icProfileHeader.h:1146
wxString AnalyzeRoundTrip(wxString &profilePath, icRenderingIntent nIntent, bool bUseMPE)
Definition wxProfileDump.cpp:957

References MyRoundTripDialog(), icSigAToB0Tag, icSigAToB1Tag, icSigAToB2Tag, icSigBlueMatrixColumnTag, icSigBlueTRCTag, icSigBToA0Tag, icSigBToA1Tag, icSigBToA2Tag, icSigBToD0Tag, icSigBToD1Tag, icSigBToD2Tag, icSigBToD3Tag, icSigDToB0Tag, icSigDToB1Tag, icSigDToB2Tag, icSigDToB3Tag, icSigGreenMatrixColumnTag, icSigGreenTRCTag, icSigRedMatrixColumnTag, and icSigRedTRCTag.

Referenced by MyRoundTripDialog().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

Field Documentation

◆ m_profilePath

wxString MyRoundTripDialog::m_profilePath

The documentation for this class was generated from the following files: