From 4ef6544ecca1803b48985882b1e0e769257b1c93 Mon Sep 17 00:00:00 2001 From: Marco Pesenti Gritti Date: Fri, 13 Mar 2009 20:59:34 +0000 Subject: Add a browser plugin implementation. --- (limited to 'browser-plugin/plugin.h') diff --git a/browser-plugin/plugin.h b/browser-plugin/plugin.h new file mode 100644 index 0000000..79cfaa3 --- /dev/null +++ b/browser-plugin/plugin.h @@ -0,0 +1,56 @@ +/* this file is part of evince, a gnome document viewer + * + * Copyright (C) 2009 litl, LLC + * + * Evince is free software; you can redistribute it and/or modify it + * under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * Evince is distributed in the hope that it will be useful, but + * WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307, USA. + */ + +#ifndef __PLUGIN_H__ +#define __PLUGIN_H__ + +#include +#include + +#include "evince-view.h" + +class Plugin { + public: + Plugin (NPP instance); + ~Plugin (); + + void SetWindow (GdkNativeWindow window); + void Load (const char *fname); + void ZoomIn (); + void ZoomOut (); + void FindNext (const char *text); + void FindPrevious (const char *text); + NPObject *GetScriptableNPObject (); + + private: + + void UpdateSizingMode (); + + static void SizingModeCallback (EvView *view, + GParamSpec *pspec, + gpointer data); + + NPP mInstance; + NPObject *mScriptableObject; + GdkNativeWindow mWindow; + GtkWidget *mScrolledWindow; + GtkWidget *mView; +}; + +#endif // __PLUGIN_H__ -- cgit v0.9.1