*% Copyright (c) 2012 The Chromium Authors. All rights reserved.
*% Use of this source code is governed by a BSD-style license that can be
*% found in the LICENSE file.

*GPDFileVersion: "1.0"
*GPDSpecVersion: "1.0"
*Include:        "StdNames.gpd"
*ResourceDLL:    "unires.dll"
*ModelName:      "Google Cloud Printer"
*MasterUnits:    PAIR(1200, 1200)
*MaxCopies:      1
*PrintRatePPM: 200
*PrinterType:    PAGE
*IsXPSDriver?:   TRUE

*Feature: ColorMode {
  *rcNameID: =COLOR_PRINTING_MODE_DISPLAY
  *DefaultOption: 24bpp
  *ConcealFromUI?: TRUE
  *Option: 24bpp {
    *rcNameID: =24BPP_DISPLAY
    *DevNumOfPlanes: 1
    *DevBPP: 24
    *DrvBPP: 24
  }
}

*Feature: Memory {
  *rcNameID: =PRINTER_MEMORY_DISPLAY
  *DefaultOption: 65536KB
  *Option: 16384KB {
    *Name: "16MB"
    *MemoryConfigKB: PAIR(16384, 16384)
  }
  *Option: 65536KB {
    *Name: "64MB"
    *MemoryConfigKB: PAIR(65536, 65536)
  }
}

*Feature: Orientation {
  *rcNameID: =ORIENTATION_DISPLAY
  *DefaultOption: PORTRAIT
  *Option: PORTRAIT {
    *rcNameID: =PORTRAIT_DISPLAY
  }
  *Option: LANDSCAPE_CC270 {
    *rcNameID: =LANDSCAPE_DISPLAY
  }
}

*Feature: PaperSize {
  *rcNameID: =PAPER_SIZE_DISPLAY
  *DefaultOption: LETTER

  *Option: A4 {
    *rcNameID: =RCID_DMPAPER_SYSTEM_NAME
    *switch: Orientation {
      *case: PORTRAIT {
        *PrintableArea: PAIR(9921, 14031)
        *PrintableOrigin: PAIR(0, 0)
        *CursorOrigin: PAIR(0, 0)
      }
      *case: LANDSCAPE_CC270 {
        *PrintableArea: PAIR(14031, 9921)
        *PrintableOrigin: PAIR(0, 0)
        *CursorOrigin: PAIR(0, 0)
      }
    }
  }

  *Option: LETTER {
  *rcNameID: =RCID_DMPAPER_SYSTEM_NAME
  *switch: Orientation {
    *case: PORTRAIT {
        *PrintableArea: PAIR(10200, 13200)
        *PrintableOrigin: PAIR(0, 0)
        *CursorOrigin: PAIR(0, 0)
      }
      *case: LANDSCAPE_CC270 {
        *PrintableArea: PAIR(13200, 10200)
        *PrintableOrigin: PAIR(0, 0)
        *CursorOrigin: PAIR(0, 0)
      }
    }
  }
}

*Feature: Resolution {
  *rcNameID: =RESOLUTION_DISPLAY
  *DefaultOption: 600dpi

  *Option: 600dpi {
    *Name: "600 x 600 " =DOTS_PER_INCH
    *DPI: PAIR(600, 600)
    *TextDPI: PAIR(600, 600)
    *SpotDiameter: 100
    *Command: CmdBeginRaster { *Cmd : "<1B>*v7S<1B>*r1A" }
    *Command: CmdEndRaster { *Cmd : "<1B>*rC" }
    *Command: CmdSendBlockData { *Cmd : "<1B>*b" %d{NumOfDataBytes}"W" }
  }
}

*Command: CmdCR { *Cmd : "<0D>" }
*Command: CmdLF { *Cmd : "<0A>" }
*Command: CmdFF { *Cmd : "<0C>" }