Пример #1
0
        public override void Undo()
        {
            view.Scroll = state.scroll;
            Document doc  = view.Document;
            FitModes fit  = view.CurrentFit;
            double   zoom = view.Zoom;
            Bookmark root = doc.BookmarkRoot;

            if (root != null)
            {
                Bookmark child = GetRootBookmark(root, state.bookmarks);
                if (child != null)
                {
                    child.Destroy();
                }
            }
            if (doc.OptionalContentGroups.Count > state.layers)
            {
                IList <OptionalContentGroup> groups = doc.OptionalContentGroups;
                for (int i = state.layers; i < groups.Count; ++i)
                {
                    doc.RemoveOCG(groups[i]);
                }
            }
            view.ClearPageCache();
            doc.DeletePages(state.pages, doc.NumPages - 1);
            view.Document = doc;
            view.setZoom(fit, zoom);
        }
Пример #2
0
        public override void Do()
        {
            Document doc    = view.Document;
            FitModes fit    = view.CurrentFit;
            double   zoom   = view.Zoom;
            Document newDoc = new Document(state.fileName);

            doc.InsertPages(state.pages - 1, newDoc, 0, newDoc.NumPages, PageInsertFlags.All);
            newDoc.Dispose();
            view.Document = doc;
            view.setZoom(fit, zoom);
            view.Scroll = state.scroll;
        }
        /**
         * zoomLevelChange(int) -
         *
         * Changes the current zoom level to that which is selected from
         * our list of possible zoom levels. If fit to page or fit to width
         * are selected it calculates the custom zoom level.
         */
        public void zoomLevelChanged(int selectedZoomIndex)
        {
            if (customZoom && selectedZoomIndex == -1)
            {
                return;                                        // OK, we just set these values in custom zoom
            }
            this.selectedZoomIndex = selectedZoomIndex;
            string zoomLevel = zoomArray[selectedZoomIndex].ToString();

            if (zoomLevel.Contains("Fit to"))
            {
                fit = zoomLevel.Contains("Page") ? FitModes.FitPage : FitModes.FitWidth;
            }
            else
            {
                // parse the String version of the zoom level to get the double version
                zoomLevel         = zoomLevel.Replace("%", "");
                currentZoomFactor = (double.Parse(zoomLevel) / 100);
                fit = FitModes.FitNone;
            }
            customZoom = false;
        }
        /**
         * initialize -
         *
         * setup the default values for the zoom manager and create
         * the zoomArray.
         */
        private void initialize()
        {
            selectedZoomIndex = 3; // 100% by default

            currentZoomFactor = 1.0;
            fit = FitModes.FitNone;

            // this is the list of zoom levels that should be displayed to the user
            zoomArray     = new String[13];
            zoomArray[0]  = "25%";
            zoomArray[1]  = "50%";
            zoomArray[2]  = "75%";
            zoomArray[3]  = "100%";
            zoomArray[4]  = "125%";
            zoomArray[5]  = "150%";
            zoomArray[6]  = "200%";
            zoomArray[7]  = "300%";
            zoomArray[8]  = "400%";
            zoomArray[9]  = "600%";
            zoomArray[10] = "800%";
            zoomArray[11] = "Fit to Width";
            zoomArray[12] = "Fit to Page";
        }
 public ZoomEventArgs(double zoom, FitModes fit)
 {
     zoomMode  = ZoomMode.CUSTOM;
     this.zoom = zoom;
     this.fit  = fit;
 }