Diffstat (limited to 'libopie2/opieui/oimageeffect.cpp') (more/less context) (ignore whitespace changes)
-rw-r--r-- | libopie2/opieui/oimageeffect.cpp | 7 |
1 files changed, 6 insertions, 1 deletions
diff --git a/libopie2/opieui/oimageeffect.cpp b/libopie2/opieui/oimageeffect.cpp index 9a58bb9..be47eb2 100644 --- a/libopie2/opieui/oimageeffect.cpp +++ b/libopie2/opieui/oimageeffect.cpp | |||
@@ -20,48 +20,52 @@ OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. | |||
20 | IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, | 20 | IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, |
21 | INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT | 21 | INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT |
22 | NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, | 22 | NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, |
23 | DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY | 23 | DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY |
24 | THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT | 24 | THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT |
25 | (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF | 25 | (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF |
26 | THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. | 26 | THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. |
27 | 27 | ||
28 | */ | 28 | */ |
29 | 29 | ||
30 | // $Id$ | 30 | // $Id$ |
31 | 31 | ||
32 | #include <math.h> | 32 | #include <math.h> |
33 | 33 | ||
34 | #include <qimage.h> | 34 | #include <qimage.h> |
35 | #include <stdlib.h> | 35 | #include <stdlib.h> |
36 | 36 | ||
37 | #include <opie2/oimageeffect.h> | 37 | #include <opie2/oimageeffect.h> |
38 | #include <opie2/odebug.h> | 38 | #include <opie2/odebug.h> |
39 | 39 | ||
40 | #define MaxRGB 255L | 40 | #define MaxRGB 255L |
41 | #define DegreesToRadians(x) ((x)*M_PI/180.0) | 41 | #define DegreesToRadians(x) ((x)*M_PI/180.0) |
42 | 42 | ||
43 | using namespace std; | 43 | using namespace std; |
44 | using namespace Opie::Core; | ||
45 | |||
46 | namespace Opie { | ||
47 | namespace Ui { | ||
44 | 48 | ||
45 | inline unsigned int intensityValue(unsigned int color) | 49 | inline unsigned int intensityValue(unsigned int color) |
46 | { | 50 | { |
47 | return((unsigned int)((0.299*qRed(color) + | 51 | return((unsigned int)((0.299*qRed(color) + |
48 | 0.587*qGreen(color) + | 52 | 0.587*qGreen(color) + |
49 | 0.1140000000000001*qBlue(color)))); | 53 | 0.1140000000000001*qBlue(color)))); |
50 | } | 54 | } |
51 | 55 | ||
52 | //====================================================================== | 56 | //====================================================================== |
53 | // | 57 | // |
54 | // Gradient effects | 58 | // Gradient effects |
55 | // | 59 | // |
56 | //====================================================================== | 60 | //====================================================================== |
57 | 61 | ||
58 | QImage OImageEffect::gradient(const QSize &size, const QColor &ca, | 62 | QImage OImageEffect::gradient(const QSize &size, const QColor &ca, |
59 | const QColor &cb, GradientType eff, int ncols) | 63 | const QColor &cb, GradientType eff, int ncols) |
60 | { | 64 | { |
61 | int rDiff, gDiff, bDiff; | 65 | int rDiff, gDiff, bDiff; |
62 | int rca, gca, bca, rcb, gcb, bcb; | 66 | int rca, gca, bca, rcb, gcb, bcb; |
63 | 67 | ||
64 | QImage image(size, 32); | 68 | QImage image(size, 32); |
65 | 69 | ||
66 | if (size.width() == 0 || size.height() == 0) { | 70 | if (size.width() == 0 || size.height() == 0) { |
67 | odebug << "WARNING: OImageEffect::gradient: invalid image" << oendl; | 71 | odebug << "WARNING: OImageEffect::gradient: invalid image" << oendl; |
@@ -3744,25 +3748,26 @@ void OImageEffect::contrastHSV(QImage &img, bool sharpen) | |||
3744 | } | 3748 | } |
3745 | else{ | 3749 | else{ |
3746 | count = img.numColors(); | 3750 | count = img.numColors(); |
3747 | data = (unsigned int *)img.colorTable(); | 3751 | data = (unsigned int *)img.colorTable(); |
3748 | } | 3752 | } |
3749 | for(i=0; i < count; ++i){ | 3753 | for(i=0; i < count; ++i){ |
3750 | c.setRgb(data[i]); | 3754 | c.setRgb(data[i]); |
3751 | c.hsv(&h, &s, &v); | 3755 | c.hsv(&h, &s, &v); |
3752 | brightness = v/255.0; | 3756 | brightness = v/255.0; |
3753 | theta=(brightness-0.5)*M_PI; | 3757 | theta=(brightness-0.5)*M_PI; |
3754 | brightness+=scale*(((scale*((sin(theta)+1.0)))-brightness)*sign); | 3758 | brightness+=scale*(((scale*((sin(theta)+1.0)))-brightness)*sign); |
3755 | if (brightness > 1.0) | 3759 | if (brightness > 1.0) |
3756 | brightness=1.0; | 3760 | brightness=1.0; |
3757 | else | 3761 | else |
3758 | if (brightness < 0) | 3762 | if (brightness < 0) |
3759 | brightness=0.0; | 3763 | brightness=0.0; |
3760 | v = (int)(brightness*255); | 3764 | v = (int)(brightness*255); |
3761 | c.setHsv(h, s, v); | 3765 | c.setHsv(h, s, v); |
3762 | data[i] = qRgba(c.red(), c.green(), c.blue(), qAlpha(data[i])); | 3766 | data[i] = qRgba(c.red(), c.green(), c.blue(), qAlpha(data[i])); |
3763 | } | 3767 | } |
3764 | } | 3768 | } |
3765 | 3769 | ||
3766 | 3770 | ||
3767 | 3771 | ||
3768 | 3772 | } | |
3773 | } | ||