root/ui/display/edid_parser.h

/* [<][>][^][v][top][bottom][index][help] */

INCLUDED FROM


// Copyright 2014 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.

#ifndef UI_DISPLAY_EDID_PARSER_H_
#define UI_DISPLAY_EDID_PARSER_H_

#include <stdint.h>

#include <string>
#include <vector>

#include "ui/display/display_export.h"

// EDID (Extended Display Identification Data) is a format for monitor
// metadata. This provides a parser for the data.

namespace ui {

// Generates the display id for the pair of |edid| and |index|, and store in
// |display_id_out|. Returns true if the display id is successfully generated,
// or false otherwise.
DISPLAY_EXPORT bool GetDisplayIdFromEDID(const std::vector<uint8_t>& edid,
                                         uint8_t index,
                                         int64_t* display_id_out);

// Parses |edid| as EDID data and stores extracted data into |manufacturer_id|
// and |human_readable_name| and returns true. NULL can be passed for unwanted
// output parameters. Some devices (especially internal displays) may not have
// the field for |human_readable_name|, and it will return true in that case.
DISPLAY_EXPORT bool ParseOutputDeviceData(const std::vector<uint8_t>& edid,
                                          uint16_t* manufacturer_id,
                                          std::string* human_readable_name);

DISPLAY_EXPORT bool ParseOutputOverscanFlag(const std::vector<uint8_t>& edid,
                                            bool* flag);

}  // namespace ui

#endif // UI_DISPLAY_EDID_PARSER_H_

/* [<][>][^][v][top][bottom][index][help] */