Full image dimensions in navigator info

see 1426
This commit is contained in:
Oliver Duis 2012-06-24 11:59:21 +02:00
parent da4dda3530
commit e603fc6864
7 changed files with 23 additions and 9 deletions

View File

@ -542,6 +542,7 @@ NAVIGATOR_S_VALUE;S = %1
NAVIGATOR_V_NA;V = k.a.
NAVIGATOR_V_VALUE;V = %1
NAVIGATOR_XY_NA;x = k.a., y = k.a.
NAVIGATOR_XY_FULL;Breite = %1, Höhe = %2
PARTIALPASTE_BASICGROUP;Gruppe Basiseinstellungen
PARTIALPASTE_CACORRECTION;Farbsaum entfernen
PARTIALPASTE_CHANNELMIXER;Kanal-Mixer

View File

@ -546,6 +546,7 @@ NAVIGATOR_S_VALUE;S = %1
NAVIGATOR_V_NA;V = n/a
NAVIGATOR_V_VALUE;V = %1
NAVIGATOR_XY_NA;x = n/a, y = n/a
NAVIGATOR_XY_FULL;Width = %1, Height = %2
OPTIONS_DEFIMG_MISSING;The default profile for <b>non-raw photos</b> could not be found or is not set.\n\nPlease check your profiles' directory, it may be missing or damaged.\n\nDefault internal values will be used.
OPTIONS_DEFRAW_MISSING;The default profile for <b>raw photos<b> could not be found or is not set.\n\nPlease check your profiles' directory, it may be missing or damaged.\n\nDefault internal values will be used.
PARTIALPASTE_BASICGROUP;Basic Settings

View File

@ -333,6 +333,15 @@ void CropHandler::getSize (int& w, int& h) {
h = cropH;
}
void CropHandler::getFullImageSize (int& w, int& h) {
if (ipc) {
w = ipc->getFullWidth ();
h = ipc->getFullHeight ();
} else {
w=h=0;
}
}
void CropHandler::compDim () {
cropX = cx;

View File

@ -86,6 +86,7 @@ class CropHandler : public rtengine::DetailedCropListener, public rtengine::Size
void setPosition (int x, int y, bool update=true);
void getPosition (int& x, int& y);
void getSize (int& w, int& h);
void getFullImageSize (int& w, int& h);
void setEnabled (bool e);
bool getEnabled ();

View File

@ -478,11 +478,9 @@ void CropWindow::pointerMoved (int x, int y) {
int mx, my;
translateCoord (x, y, mx, my);
if (!onArea (CropImage, x, y) || !cropHandler.cropPixbuf) {
// pmlistener->pointerMoved (false, mx, my, -1, -1, -1);
cropHandler.getFullImageSize(mx,my);
pmlistener->pointerMoved (false, cropHandler.colorParams.working, mx, my, -1, -1, -1);
if (pmhlistener) {
pmhlistener->pointerMoved (false, cropHandler.colorParams.working, mx, my, -1, -1, -1);
}
if (pmhlistener) pmhlistener->pointerMoved (false, cropHandler.colorParams.working, mx, my, -1, -1, -1);
}
else {
/*Glib::Mutex::Lock lock(cropHandler.cimg);

View File

@ -61,9 +61,12 @@ Navigator::Navigator () {
show_all ();
}
void Navigator::setInvalid () {
void Navigator::setInvalid (int fullWidth, int fullHeight) {
if (fullWidth>0 && fullHeight>0)
position->set_text (Glib::ustring::compose (M("NAVIGATOR_XY_FULL"),fullWidth,fullHeight));
else
position->set_text (M("NAVIGATOR_XY_NA"));
R->set_text (M("NAVIGATOR_R_NA"));
G->set_text (M("NAVIGATOR_G_NA"));
B->set_text (M("NAVIGATOR_B_NA"));
@ -75,11 +78,11 @@ void Navigator::setInvalid () {
LAB_L->set_text (M("NAVIGATOR_LAB_L_NA"));
}
// if !validPos then x/y contain the full image size
void Navigator::pointerMoved (bool validPos, Glib::ustring profile, int x, int y, int r, int g, int b) {
if (!validPos)
setInvalid ();
setInvalid (x,y);
else {
position->set_text (Glib::ustring::compose ("x = %1, y = %2", x, y));
R->set_text (Glib::ustring::compose (M("NAVIGATOR_R_VALUE"), r));

View File

@ -38,7 +38,8 @@ class Navigator : public Gtk::Frame, public PointerMotionListener {
//void rgb2lab (int r, int g, int b, int &LAB_l, int &LAB_a, int &LAB_b);
void rgb2lab (Glib::ustring profile, int r, int g, int b, int &LAB_l, int &LAB_a, int &LAB_b);
void setInvalid ();
void setInvalid (int fullWidth=-1, int fullHeight=-1);
public:
PreviewWindow* previewWindow;