// Created by plusminus on 00:09:18 - 04.12.2008
package org.androad.ui.map.overlay;
import org.osmdroid.views.MapView;
import org.osmdroid.views.overlay.Overlay;
import org.androad.preferences.PreferenceConstants;
import android.content.Context;
import android.graphics.Canvas;
import android.graphics.Paint;
import android.graphics.PorterDuffXfermode;
import android.graphics.PorterDuff.Mode;
public class ColorSchemeOverlay extends Overlay implements PreferenceConstants {
// ===========================================================
// Constants
// ===========================================================
// ===========================================================
// Fields
// ===========================================================
private int mColorScheme = PREF_THEME_DEFAULT_RESID;
private final Paint mPaint = new Paint();
// ===========================================================
// Constructors
// ===========================================================
public ColorSchemeOverlay(final Context ctx) {
super(ctx);
}
public ColorSchemeOverlay(final Context ctx, final int aColorScheme) {
super(ctx);
setColorScheme(aColorScheme);
}
// ===========================================================
// Getter & Setter
// ===========================================================
public int getColorScheme() {
return this.mColorScheme;
}
public void setColorScheme(final int aColorScheme) {
if(aColorScheme == this.mColorScheme) {
return;
}
this.mColorScheme = aColorScheme;
switch(this.mColorScheme){
case PREF_THEME_DAY_RESID:
this.mPaint.setARGB(100, 255, 255, 255);
this.mPaint.setXfermode(new PorterDuffXfermode(Mode.DARKEN));
break;
case PREF_THEME_NIGHT_RESID:
this.mPaint.setARGB(75, 0, 0, 0);
this.mPaint.setXfermode(new PorterDuffXfermode(Mode.DARKEN));
break;
case PREF_THEME_DEFAULT_RESID:
default:
return;
}
}
// ===========================================================
// Methods from SuperClass/Interfaces
// ===========================================================
@Override
protected void draw(final Canvas c, final MapView osmv, final boolean shadow) {
switch(this.mColorScheme){
case PREF_THEME_DAY_RESID:
case PREF_THEME_NIGHT_RESID:
c.drawRect(0, 0,700, 700, this.mPaint); // TODO Find getter for these hardcoded values.
break;
case PREF_THEME_DEFAULT_RESID:
default:
return;
}
}
// ===========================================================
// Methods
// ===========================================================
// ===========================================================
// Inner and Anonymous Classes
// ===========================================================
}