Start line:  
End line:  

Snippet Preview

Snippet HTML Code

Stack Overflow Questions
  /* ====================================================================
     Licensed to the Apache Software Foundation (ASF) under one or more
     contributor license agreements.  See the NOTICE file distributed with
     this work for additional information regarding copyright ownership.
     The ASF licenses this file to You under the Apache License, Version 2.0
     (the "License"); you may not use this file except in compliance with
     the License.  You may obtain a copy of the License at
  
         http://www.apache.org/licenses/LICENSE-2.0
 
    Unless required by applicable law or agreed to in writing, software
    distributed under the License is distributed on an "AS IS" BASIS,
    WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
    See the License for the specific language governing permissions and
    limitations under the License.
 ==================================================================== */
 
 package org.apache.poi.hslf.record;
 
A Document Atom (type 1001). Holds misc information on the PowerPoint document, lots of them size and scale related.

Author(s):
Nick Burch
 
 
 public final class DocumentAtom extends RecordAtom
 {
 	private byte[] _header;
 	private static long _type = 1001l;
 
 	private long slideSizeX// PointAtom, assume 1st 4 bytes = X
 	private long slideSizeY// PointAtom, assume 2nd 4 bytes = Y
 	private long notesSizeX// PointAtom, assume 1st 4 bytes = X
 	private long notesSizeY// PointAtom, assume 2nd 4 bytes = Y
 	private long serverZoomFrom// RatioAtom, assume 1st 4 bytes = from
 	private long serverZoomTo;   // RatioAtom, assume 2nd 4 bytes = to
 
 	private long notesMasterPersist// ref to NotesMaster, 0 if none
 	private long handoutMasterPersist// ref to HandoutMaster, 0 if none
 
 	private int firstSlideNum;
 	private int slideSizeType// see DocumentAtom.SlideSize
 
 	private byte saveWithFonts;
 	private byte omitTitlePlace;
 	private byte rightToLeft;
 	private byte showComments;
 
 	private byte[] reserved;
 
 
 	public long getSlideSizeX() { return ; }
 	public long getSlideSizeY() { return ; }
 	public long getNotesSizeX() { return ; }
 	public long getNotesSizeY() { return ; }
 	public void setSlideSizeX(long x) {  = x; }
 	public void setSlideSizeY(long y) {  = y; }
 	public void setNotesSizeX(long x) {  = x; }
 	public void setNotesSizeY(long y) {  = y; }
 
 	public long getServerZoomFrom() { return ; }
 	public long getServerZoomTo()   { return ; }
 	public void setServerZoomFrom(long zoom) {  = zoom; }
 	public void setServerZoomTo(long zoom)   {    = zoom; }

Returns a reference to the NotesMaster, or 0 if none
 
 	public long getNotesMasterPersist() { return ; }
Returns a reference to the HandoutMaster, or 0 if none
 
 	public long getHandoutMasterPersist() { return ; }
 
 	public int getFirstSlideNum() { return ; }

The Size of the Document's slides,

See also:
DocumentAtom.SlideSize for values
 
 	public int getSlideSizeType() { return ; }

Was the document saved with True Type fonts embeded?
 
 	public boolean getSaveWithFonts() {
 		return  != 0;
 	}

Have the placeholders on the title slide been omitted?
 
 	public boolean getOmitTitlePlace() {
 		return  != 0;
 	}

Is this a Bi-Directional PPT Doc?
 
 	public boolean getRightToLeft() {
 		return  != 0;
 	}

Are comment shapes visible?
 
 	public boolean getShowComments() {
 		return  != 0;
 	}
	/* *************** record code follows ********************** */

For the Document Atom
	protected DocumentAtom(byte[] sourceint startint len) {
		// Sanity Checking
		if(len < 48) { len = 48; }
		// Get the header
		 = new byte[8];
		System.arraycopy(source,start,,0,8);
		// Get the sizes and zoom ratios
		 = LittleEndian.getInt(source,start+0+8);
		 = LittleEndian.getInt(source,start+4+8);
		 = LittleEndian.getInt(source,start+8+8);
		 = LittleEndian.getInt(source,start+12+8);
		 = LittleEndian.getInt(source,start+16+8);
		   = LittleEndian.getInt(source,start+20+8);
		// Get the master persists
		 = LittleEndian.getInt(source,start+24+8);
		 = LittleEndian.getInt(source,start+28+8);
		// Get the ID of the first slide
		 = LittleEndian.getShort(source,start+32+8);
		// Get the slide size type
		 = LittleEndian.getShort(source,start+34+8);
		// Get the booleans as bytes
		 = source[start+36+8];
		 = source[start+37+8];
		 = source[start+38+8];
		 = source[start+39+8];
		// If there's any other bits of data, keep them about
		 = new byte[len-40-8];
		System.arraycopy(source,start+48,,0,.);
	}

We are of type 1001
	public long getRecordType() { return ; }

Write the contents of the record back, so it can be written to disk
	public void writeOut(OutputStream outthrows IOException {
		// Header
		// The sizes and zoom ratios
		// The master persists
		// The ID of the first slide
		// The slide size type
		// The booleans as bytes
		// Reserved data
	}

Holds the different Slide Size values
	public static final class SlideSize {
		public static final int ON_SCREEN = 0;
		public static final int LETTER_SIZED_PAPER = 1;
		public static final int A4_SIZED_PAPER = 2;
		public static final int ON_35MM = 3;
		public static final int OVERHEAD = 4;
		public static final int BANNER = 5;
		public static final int CUSTOM = 6;
	}
New to GrepCode? Check out our FAQ X