From f0307bad5c20b713ac74dcaf8091a1397e1818f1 Mon Sep 17 00:00:00 2001 From: Michael Pfeiffer Date: Sun, 28 Nov 2004 18:57:49 +0000 Subject: [PATCH] Added class JSDSlider by Dr.H.Reh. git-svn-id: file:///srv/svn/repos/haiku/trunk/current@10275 a95241bf-73f2-0310-859d-f6bbb57e9c96 --- headers/private/print/libprint/JSDSlider.h | 31 ++++++++++++ .../drivers/shared/libprint/JSDSlider.cpp | 50 +++++++++++++++++++ .../print/drivers/shared/libprint/Jamfile | 1 + 3 files changed, 82 insertions(+) create mode 100644 headers/private/print/libprint/JSDSlider.h create mode 100644 src/add-ons/print/drivers/shared/libprint/JSDSlider.cpp diff --git a/headers/private/print/libprint/JSDSlider.h b/headers/private/print/libprint/JSDSlider.h new file mode 100644 index 0000000000..02e1be6651 --- /dev/null +++ b/headers/private/print/libprint/JSDSlider.h @@ -0,0 +1,31 @@ +/* + JSDSlider.h + Dr.H.Reh + 27.11.2004 + + Based on source code from Be Inc. RIP + Copyright 1995 Be Incorporated, All Rights Reserved. +*/ + +#ifndef __JSD_SLIDER_H +#define __JSD_SLIDER_H + +#include +#include + + +class JSDSlider : public BSlider +{ +public: + JSDSlider(BRect frame, const char* name, const char *label, BMessage *msg, + int32 min, int32 max, thumb_style t); + + ~JSDSlider(); + + char* UpdateText() const; + +private: + BString* fResult; +}; + +#endif diff --git a/src/add-ons/print/drivers/shared/libprint/JSDSlider.cpp b/src/add-ons/print/drivers/shared/libprint/JSDSlider.cpp new file mode 100644 index 0000000000..fc3c90a90e --- /dev/null +++ b/src/add-ons/print/drivers/shared/libprint/JSDSlider.cpp @@ -0,0 +1,50 @@ +/* + JSDSlider.cpp + Dr.H.Reh + 27.11.2004 + + Based on source code from Be Inc. RIP + Copyright 1995 Be Incorporated, All Rights Reserved. +*/ + +#include "JSDSlider.h" + +#include + +#include +#include +#include + +JSDSlider :: JSDSlider(BRect frame, const char* name, const char *label, + BMessage *msg, int32 min, int32 max, thumb_style t) + : BSlider(frame, name, label, msg, min, max, t) +{ + fResult = new BString(); +} + +JSDSlider :: ~JSDSlider() +{ + delete fResult; +} + +char* JSDSlider :: UpdateText() const +{ +// When the slider's Draw method is called, this method +// will also be called. If its return value is non-NULL, +// then it will be drawn with the rest of the slider + static char string[64]; + string[0] = 0; + + if (!strcmp("gamma", Name()) ) { + float gamma; + gamma = exp((Value() * log(2.0) * 0.01) ); + sprintf(string, " %.2f", gamma); + } else if (!strcmp("inkDensity", Name()) ) { + float density; + density = 127 - Value(); + sprintf(string," %.2f", density/127.0 ); + } + + *fResult = string; + return (char *)fResult->String(); +} diff --git a/src/add-ons/print/drivers/shared/libprint/Jamfile b/src/add-ons/print/drivers/shared/libprint/Jamfile index b51fea20a2..ee46b4dcc7 100644 --- a/src/add-ons/print/drivers/shared/libprint/Jamfile +++ b/src/add-ons/print/drivers/shared/libprint/Jamfile @@ -11,6 +11,7 @@ StaticLibrary print : GraphicsDriver.cpp Halftone.cpp HalftoneView.cpp + JSDSlider.cpp JobData.cpp JobSetupDlg.cpp PackBits.cpp