]> www.fi.muni.cz Git - evince.git/commitdiff
[libdocument] Add inverted-color property to EvDocumentModel
authorJuanjo Marín <juanj.marin@juntadeandalucia.es>
Sun, 29 Nov 2009 14:50:29 +0000 (15:50 +0100)
committerCarlos Garcia Campos <carlosgc@gnome.org>
Sun, 29 Nov 2009 14:50:29 +0000 (15:50 +0100)
See bgo#321823.

libview/ev-document-model.c
libview/ev-document-model.h

index 2e3db25cedd4573f24b5d5a69e1f5f32d1e2d2ab..b92fa01fab9f3bf0dd195cd9088dc5125ced9ae5 100644 (file)
@@ -33,6 +33,7 @@ struct _EvDocumentModel
 
        gint page;
        gint rotation;
+       gboolean inverted_colors;
        gdouble scale;
        EvSizingMode sizing_mode;
        guint continuous : 1;
@@ -58,6 +59,7 @@ enum {
        PROP_DOCUMENT,
        PROP_PAGE,
        PROP_ROTATION,
+       PROP_INVERTED_COLORS,
        PROP_SCALE,
        PROP_SIZING_MODE,
        PROP_CONTINUOUS,
@@ -106,6 +108,9 @@ ev_document_model_set_property (GObject      *object,
        case PROP_ROTATION:
                ev_document_model_set_rotation (model, g_value_get_int (value));
                break;
+       case PROP_INVERTED_COLORS:
+               ev_document_model_set_inverted_colors (model, g_value_get_boolean (value));
+               break;
        case PROP_SCALE:
                ev_document_model_set_scale (model, g_value_get_double (value));
                break;
@@ -144,6 +149,9 @@ ev_document_model_get_property (GObject    *object,
        case PROP_ROTATION:
                g_value_set_int (value, model->rotation);
                break;
+       case PROP_INVERTED_COLORS:
+               g_value_set_boolean (value, model->inverted_colors);
+               break;
        case PROP_SCALE:
                g_value_set_double (value, model->scale);
                break;
@@ -195,6 +203,13 @@ ev_document_model_class_init (EvDocumentModelClass *klass)
                                                           "Current rotation angle",
                                                           0, 360, 0,
                                                           G_PARAM_READWRITE));
+       g_object_class_install_property (g_object_class,
+                                        PROP_INVERTED_COLORS,
+                                        g_param_spec_boolean ("inverted-colors",
+                                                              "Inverted Colors",
+                                                              "Whether document is displayed with inverted colors",
+                                                              FALSE,
+                                                              G_PARAM_READWRITE));
        g_object_class_install_property (g_object_class,
                                         PROP_SCALE,
                                         g_param_spec_double ("scale",
@@ -251,6 +266,7 @@ ev_document_model_init (EvDocumentModel *model)
        model->scale = 1.;
        model->sizing_mode = EV_SIZING_FIT_WIDTH;
        model->continuous = TRUE;
+       model->inverted_colors = FALSE;
        model->min_scale = 0.;
        model->max_scale = G_MAXDOUBLE;
 }
@@ -460,6 +476,28 @@ ev_document_model_get_rotation (EvDocumentModel *model)
        return model->rotation;
 }
 
+void
+ev_document_model_set_inverted_colors (EvDocumentModel *model,
+                                      gboolean         inverted_colors)
+{
+       g_return_if_fail (EV_IS_DOCUMENT_MODEL (model));
+
+       if (inverted_colors == model->inverted_colors)
+               return;
+
+       model->inverted_colors = inverted_colors;
+
+       g_object_notify (G_OBJECT (model), "inverted-colors");
+}
+
+gboolean
+ev_document_model_get_inverted_colors (EvDocumentModel *model)
+{
+       g_return_val_if_fail (EV_IS_DOCUMENT_MODEL (model), FALSE);
+
+       return model->inverted_colors;
+}
+
 void
 ev_document_model_set_continuous (EvDocumentModel *model,
                                  gboolean         continuous)
index 26c6d7b7b50c0d415f61a2e9931ac033c2cbb582..b535c9a4f12b301afd7ebbcd85b5e63cab43efb0 100644 (file)
@@ -69,6 +69,9 @@ EvSizingMode     ev_document_model_get_sizing_mode   (EvDocumentModel *model);
 void             ev_document_model_set_rotation      (EvDocumentModel *model,
                                                      gint             rotation);
 gint             ev_document_model_get_rotation      (EvDocumentModel *model);
+void           ev_document_model_set_inverted_colors (EvDocumentModel *model,
+                                                     gboolean         inverted_colors);
+gboolean       ev_document_model_get_inverted_colors (EvDocumentModel *model);
 void             ev_document_model_set_continuous    (EvDocumentModel *model,
                                                      gboolean         continuous);
 gboolean         ev_document_model_get_continuous    (EvDocumentModel *model);