1*9c5db199SXin Li# Copyright 2014 The Chromium OS Authors. All rights reserved. 2*9c5db199SXin Li# Use of this source code is governed by a BSD-style license that can be 3*9c5db199SXin Li# found in the LICENSE file. 4*9c5db199SXin Li 5*9c5db199SXin Li"""Module for display info.""" 6*9c5db199SXin Li 7*9c5db199SXin Liclass DisplayInfo(object): 8*9c5db199SXin Li """The class match displayInfo object from chrome.system.display API. 9*9c5db199SXin Li """ 10*9c5db199SXin Li 11*9c5db199SXin Li class Bounds(object): 12*9c5db199SXin Li def __init__(self, d): 13*9c5db199SXin Li """The class match Bounds object from chrome.system.display API. 14*9c5db199SXin Li 15*9c5db199SXin Li @param d: Map of display properties. 16*9c5db199SXin Li """ 17*9c5db199SXin Li 18*9c5db199SXin Li self.left = d['left'] 19*9c5db199SXin Li self.top = d['top'] 20*9c5db199SXin Li self.width = d['width'] 21*9c5db199SXin Li self.height = d['height'] 22*9c5db199SXin Li 23*9c5db199SXin Li 24*9c5db199SXin Li class Insets(object): 25*9c5db199SXin Li def __init__(self, d): 26*9c5db199SXin Li """The class match Insets object from chrome.system.display API. 27*9c5db199SXin Li 28*9c5db199SXin Li @param d: Map of display properties. 29*9c5db199SXin Li """ 30*9c5db199SXin Li 31*9c5db199SXin Li self.left = d['left'] 32*9c5db199SXin Li self.top = d['top'] 33*9c5db199SXin Li self.right = d['right'] 34*9c5db199SXin Li self.bottom = d['bottom'] 35*9c5db199SXin Li 36*9c5db199SXin Li 37*9c5db199SXin Li class Edid(object): 38*9c5db199SXin Li def __init__(self, edid): 39*9c5db199SXin Li """The class match the Edid object from chrome.system.display API. 40*9c5db199SXin Li 41*9c5db199SXin Li @param edid: Map of Edid properties. 42*9c5db199SXin Li """ 43*9c5db199SXin Li 44*9c5db199SXin Li self.manufacturer_id = edid['manufacturerId'] 45*9c5db199SXin Li self.year_of_manufacture = edid['yearOfManufacture'] 46*9c5db199SXin Li self.product_id = edid['productId'] 47*9c5db199SXin Li 48*9c5db199SXin Li 49*9c5db199SXin Li def __init__(self, d): 50*9c5db199SXin Li self.display_id = d['id'] 51*9c5db199SXin Li self.name = d['name'] 52*9c5db199SXin Li self.mirroring_source_id = d['mirroringSourceId'] 53*9c5db199SXin Li self.is_primary = d['isPrimary'] 54*9c5db199SXin Li self.is_internal = d['isInternal'] 55*9c5db199SXin Li self.is_enabled = d['isEnabled'] 56*9c5db199SXin Li self.dpi_x = d['dpiX'] 57*9c5db199SXin Li self.dpi_y = d['dpiY'] 58*9c5db199SXin Li self.rotation = d['rotation'] 59*9c5db199SXin Li self.bounds = self.Bounds(d['bounds']) 60*9c5db199SXin Li self.overscan = self.Insets(d['overscan']) 61*9c5db199SXin Li self.work_area = self.Bounds(d['workArea']) 62*9c5db199SXin Li self.edid = self.Edid(d['edid']) 63