[prev in list] [next in list] [prev in thread] [next in thread]
List: kde-commits
Subject: KDE/kdeedu/marble/src/lib
From: Torsten Rahn <tackat () kde ! org>
Date: 2008-04-02 16:01:10
Message-ID: 1207152070.934920.15452.nullmailer () svn ! kde ! org
[Download RAW message or body]
SVN commit 792939 by rahn:
- Full AA for Marble's Atlas View
M +0 -5 MarbleMap.cpp
M +0 -5 MarbleMap.h
M +93 -13 TextureColorizer.cpp
M +17 -7 VectorComposer.cpp
M +0 -2 ViewParams.cpp
M +0 -2 ViewParams.h
--- trunk/KDE/kdeedu/marble/src/lib/MarbleMap.cpp #792938:792939
@@ -1167,11 +1167,6 @@
}
}
-void MarbleMap::setViewContext( Marble::ViewContext viewContext )
-{
- viewParams()->m_viewContext = viewContext;
-}
-
QString MarbleMap::distanceString() const
{
const double VIEW_ANGLE = 110.0;
--- trunk/KDE/kdeedu/marble/src/lib/MarbleMap.h #792938:792939
@@ -797,11 +797,6 @@
*/
void setDownloadUrl( const QUrl &url );
- /**
- * @brief Set the view context (i.e. still or animated map)
- */
- void setViewContext( Marble::ViewContext viewContext );
-
bool globeCoversImage();
Q_SIGNALS:
--- trunk/KDE/kdeedu/marble/src/lib/TextureColorizer.cpp #792938:792939
@@ -47,7 +47,7 @@
const uint landoffscreen = qRgb(255,0,0);
// const uint seaoffscreen = qRgb(0,0,0);
- const uint lakeoffscreen = qRgb(0,255,0);
+ const uint lakeoffscreen = qRgb(0,0,0);
// const uint glaciercolor = qRgb(200,200,200);
int bump = 0;
@@ -107,15 +107,55 @@
else
bump = 8;
- if ( *coastData == landoffscreen )
- *writeData = texturepalette[bump][grey + 0x100];
- else {
- if (*coastData == lakeoffscreen)
- *writeData = texturepalette[bump][0x055];
+ int red = qRed( *coastData );
+ if ( red == 255 || red == 0 ) {
+ if ( *coastData == landoffscreen )
+ *writeData = texturepalette[bump][grey + 0x100];
else {
- *writeData = texturepalette[bump][grey];
+ if (*coastData == lakeoffscreen)
+ *writeData = texturepalette[bump][0x055];
+ else {
+ *writeData = texturepalette[bump][grey];
+ }
}
}
+ else
+ {
+ if ( qRed( *coastData ) != 0 && qGreen( *coastData ) == 0) {
+ double landalpha = (double)(red) / 255.0;
+
+ QRgb landcolor = (QRgb)(texturepalette[bump][grey + 0x100]);
+ QRgb watercolor = (QRgb)(texturepalette[bump][grey]);
+
+ *writeData = qRgb(
+ (int)( landalpha * qRed( landcolor ) )
+ + (int)( ( 1-landalpha ) * qRed( watercolor ) ),
+ (int)( landalpha * qGreen( landcolor ) )
+ + (int)( ( 1-landalpha ) * qGreen( watercolor ) ),
+ (int)( landalpha * qBlue( landcolor ) )
+ + (int)( ( 1-landalpha ) * qBlue( watercolor ) )
+ );
+ }
+ else {
+
+ if ( qGreen( *coastData ) != 0 ) {
+ double landalpha = qGreen(*coastData) / 255.0;
+
+ QRgb landcolor = (QRgb)(texturepalette[bump][grey + 0x100]);
+ QRgb glaciercolor = (QRgb)(texturepalette[bump][grey]);
+
+ *writeData = qRgb(
+ (int)( landalpha * qRed( glaciercolor ) )
+ + (int)( ( 1-landalpha ) * qRed( landcolor ) ),
+ (int)( landalpha * qGreen( glaciercolor ) )
+ + (int)( ( 1-landalpha ) * qGreen( landcolor ) ),
+ (int)( landalpha * qBlue( glaciercolor ) )
+ + (int)( ( 1-landalpha ) * qBlue( landcolor ) )
+ );
+ }
+
+ }
+ }
}
}
}
@@ -158,15 +198,55 @@
else
bump = 8;
- if ( *coastData == landoffscreen )
- *writeData = texturepalette[bump][grey + 0x100];
- else {
- if (*coastData == lakeoffscreen)
- *writeData = texturepalette[bump][0x055];
+ int red = qRed( *coastData );
+ if ( red == 255 || red == 0 ) {
+ if ( *coastData == landoffscreen )
+ *writeData = texturepalette[bump][grey + 0x100];
else {
- *writeData = texturepalette[bump][grey];
+ if (*coastData == lakeoffscreen)
+ *writeData = texturepalette[bump][0x055];
+ else {
+ *writeData = texturepalette[bump][grey];
+ }
}
}
+ else
+ {
+ if ( qRed( *coastData ) != 0 && qGreen( *coastData ) == 0) {
+ double landalpha = (double)(red) / 255.0;
+
+ QRgb landcolor = (QRgb)(texturepalette[bump][grey + 0x100]);
+ QRgb watercolor = (QRgb)(texturepalette[bump][grey]);
+
+ *writeData = qRgb(
+ (int)( landalpha * qRed( landcolor ) )
+ + (int)( ( 1-landalpha ) * qRed( watercolor ) ),
+ (int)( landalpha * qGreen( landcolor ) )
+ + (int)( ( 1-landalpha ) * qGreen( watercolor ) ),
+ (int)( landalpha * qBlue( landcolor ) )
+ + (int)( ( 1-landalpha ) * qBlue( watercolor ) )
+ );
+ }
+ else {
+
+ if ( qGreen( *coastData ) != 0 ) {
+ double landalpha = qGreen(*coastData) / 255.0;
+
+ QRgb landcolor = (QRgb)(texturepalette[bump][grey + 0x100]);
+ QRgb glaciercolor = (QRgb)(texturepalette[bump][grey]);
+
+ *writeData = qRgb(
+ (int)( landalpha * qRed( glaciercolor ) )
+ + (int)( ( 1-landalpha ) * qRed( landcolor ) ),
+ (int)( landalpha * qGreen( glaciercolor ) )
+ + (int)( ( 1-landalpha ) * qGreen( landcolor ) ),
+ (int)( landalpha * qBlue( glaciercolor ) )
+ + (int)( ( 1-landalpha ) * qBlue( landcolor ) )
+ );
+ }
+
+ }
+ }
}
}
}
--- trunk/KDE/kdeedu/marble/src/lib/VectorComposer.cpp #792938:792939
@@ -56,8 +56,8 @@
m_textureLandPen = QPen( Qt::NoPen );
m_textureLandBrush = QBrush( QColor( 255, 0, 0 ) );
- m_textureLakeBrush = QBrush( QColor( 0, 255, 0 ) );
- m_textureGlacierBrush = QBrush( QColor( 0, 0, 0 ) );
+ m_textureLakeBrush = QBrush( QColor( 0, 0, 0 ) );
+ m_textureGlacierBrush = QBrush( QColor( 0, 255, 0 ) );
m_textureBorderPen.setStyle( Qt::SolidLine );
m_textureBorderPen.setColor( QColor( 0, 255, 0 ) );
@@ -93,6 +93,13 @@
// m_vectorMap -> clearNodeCount();
+ bool antialiased = false;
+
+ if ( viewParams->mapQuality() == Marble::High
+ || viewParams->mapQuality() == Marble::Print ) {
+ antialiased = true;
+ }
+
// Coastlines
m_vectorMap -> setzBoundingBoxLimit( 0.4 );
m_vectorMap -> setzPointLimit( 0 ); // 0.6 results in green pacific
@@ -100,7 +107,7 @@
m_vectorMap -> createFromPntMap( m_coastLines, viewParams->viewport() );
m_vectorMap -> setPen( m_textureLandPen );
m_vectorMap -> setBrush( m_textureLandBrush );
- m_vectorMap -> drawMap( origimg, false, viewParams->viewport() );
+ m_vectorMap -> drawMap( origimg, antialiased, viewParams->viewport() );
// Islands
m_vectorMap -> setzBoundingBoxLimit( 0.8 );
@@ -109,7 +116,7 @@
m_vectorMap -> createFromPntMap( m_islands, viewParams->viewport() );
m_vectorMap -> setPen( m_textureLandPen );
m_vectorMap -> setBrush( m_textureLandBrush );
- m_vectorMap -> drawMap( origimg, false, viewParams->viewport() );
+ m_vectorMap -> drawMap( origimg, antialiased, viewParams->viewport() );
if ( viewParams->m_showLakes ) {
// Lakes
@@ -117,12 +124,14 @@
m_vectorMap -> setzPointLimit( 0.98 );
m_vectorMap -> createFromPntMap( m_lakes, viewParams->viewport() );
+ m_vectorMap -> setPen( Qt::NoPen );
m_vectorMap -> setBrush( m_textureLakeBrush );
- m_vectorMap -> drawMap( origimg, false, viewParams->viewport() );
+ m_vectorMap -> drawMap( origimg, antialiased, viewParams->viewport() );
m_vectorMap -> createFromPntMap( m_lakeislands, viewParams->viewport() );
+ m_vectorMap -> setPen( Qt::NoPen );
m_vectorMap -> setBrush( m_textureLandBrush );
- m_vectorMap -> drawMap( origimg, false, viewParams->viewport() );
+ m_vectorMap -> drawMap( origimg, antialiased, viewParams->viewport() );
}
if ( viewParams->m_showIceLayer ) {
@@ -130,9 +139,10 @@
m_vectorMap -> setzBoundingBoxLimit( 0.8 );
m_vectorMap -> setzPointLimit( 0.9 );
m_vectorMap -> createFromPntMap( m_glaciers, viewParams->viewport() );
+ m_vectorMap -> setPen( Qt::NoPen );
m_vectorMap -> setBrush( m_textureGlacierBrush );
- m_vectorMap -> drawMap( origimg, false, viewParams->viewport() );
+ m_vectorMap -> drawMap( origimg, antialiased, viewParams->viewport() );
}
// qDebug() << "TextureMap calculated nodes: " << m_vectorMap->nodeCount();
--- trunk/KDE/kdeedu/marble/src/lib/ViewParams.cpp #792938:792939
@@ -21,8 +21,6 @@
m_mapQuality = Normal;
- m_viewContext = Still;
-
// Show / don't show parameters
m_showGrid = true;
m_showPlaceMarks = true;
--- trunk/KDE/kdeedu/marble/src/lib/ViewParams.h #792938:792939
@@ -69,8 +69,6 @@
MapQuality m_mapQuality;
- ViewContext m_viewContext;
-
// Parameters that determine the painting
//Quaternion m_planetAxis; // Position, coded in a quaternion
Quaternion m_planetAxisUpdated;
[prev in list] [next in list] [prev in thread] [next in thread]
Configure |
About |
News |
Add a list |
Sponsored by KoreLogic