Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(84)

Side by Side Diff: chromeos/display/real_output_configurator_delegate.cc

Issue 132983002: Replace OutputSnapshot |is_internal| with check against 'type == OUTPUT_TYPE_INTERNAL' (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: . Created 6 years, 11 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
« no previous file with comments | « chromeos/display/output_configurator_unittest.cc ('k') | no next file » | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright (c) 2013 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2013 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #include "chromeos/display/real_output_configurator_delegate.h" 5 #include "chromeos/display/real_output_configurator_delegate.h"
6 6
7 #include <X11/Xatom.h> 7 #include <X11/Xatom.h>
8 #include <X11/Xlib.h> 8 #include <X11/Xlib.h>
9 #include <X11/extensions/dpms.h> 9 #include <X11/extensions/dpms.h>
10 #include <X11/extensions/XInput.h> 10 #include <X11/extensions/XInput.h>
(...skipping 259 matching lines...) Expand 10 before | Expand all | Expand 10 after
270 RealOutputConfiguratorDelegate::InitOutputSnapshot( 270 RealOutputConfiguratorDelegate::InitOutputSnapshot(
271 RROutput id, 271 RROutput id,
272 XRROutputInfo* info, 272 XRROutputInfo* info,
273 RRCrtc* last_used_crtc, 273 RRCrtc* last_used_crtc,
274 int index) { 274 int index) {
275 OutputConfigurator::OutputSnapshot output; 275 OutputConfigurator::OutputSnapshot output;
276 output.output = id; 276 output.output = id;
277 output.width_mm = info->mm_width; 277 output.width_mm = info->mm_width;
278 output.height_mm = info->mm_height; 278 output.height_mm = info->mm_height;
279 output.has_display_id = base::GetDisplayId(id, index, &output.display_id); 279 output.has_display_id = base::GetDisplayId(id, index, &output.display_id);
280 output.is_internal = IsInternalOutput(info);
281 output.index = index; 280 output.index = index;
281 bool is_internal = IsInternalOutput(info);
282 282
283 // Use the index as a valid display ID even if the internal 283 // Use the index as a valid display ID even if the internal
284 // display doesn't have valid EDID because the index 284 // display doesn't have valid EDID because the index
285 // will never change. 285 // will never change.
286 if (!output.has_display_id && output.is_internal) 286 if (!output.has_display_id && is_internal)
287 output.has_display_id = true; 287 output.has_display_id = true;
288 288
289 if (info->crtc) { 289 if (info->crtc) {
290 XRRCrtcInfo* crtc_info = XRRGetCrtcInfo(display_, screen_, info->crtc); 290 XRRCrtcInfo* crtc_info = XRRGetCrtcInfo(display_, screen_, info->crtc);
291 output.current_mode = crtc_info->mode; 291 output.current_mode = crtc_info->mode;
292 output.x = crtc_info->x; 292 output.x = crtc_info->x;
293 output.y = crtc_info->y; 293 output.y = crtc_info->y;
294 XRRFreeCrtcInfo(crtc_info); 294 XRRFreeCrtcInfo(crtc_info);
295 } 295 }
296 296
(...skipping 13 matching lines...) Expand all
310 for (int i = 0; i < info->nmode; ++i) { 310 for (int i = 0; i < info->nmode; ++i) {
311 const RRMode mode = info->modes[i]; 311 const RRMode mode = info->modes[i];
312 OutputConfigurator::ModeInfo mode_info; 312 OutputConfigurator::ModeInfo mode_info;
313 if (InitModeInfo(mode, &mode_info)) 313 if (InitModeInfo(mode, &mode_info))
314 output.mode_infos.insert(std::make_pair(mode, mode_info)); 314 output.mode_infos.insert(std::make_pair(mode, mode_info));
315 else 315 else
316 LOG(WARNING) << "Unable to find XRRModeInfo for mode " << mode; 316 LOG(WARNING) << "Unable to find XRRModeInfo for mode " << mode;
317 } 317 }
318 318
319 std::string name(info->name); 319 std::string name(info->name);
320 if (output.is_internal) { 320 if (is_internal) {
321 output.type = OUTPUT_TYPE_INTERNAL; 321 output.type = OUTPUT_TYPE_INTERNAL;
322 } else if (name.find(kOutputName_VGA) == 0) { 322 } else if (name.find(kOutputName_VGA) == 0) {
323 output.type = OUTPUT_TYPE_VGA; 323 output.type = OUTPUT_TYPE_VGA;
324 } else if (name.find(kOutputName_HDMI) == 0) { 324 } else if (name.find(kOutputName_HDMI) == 0) {
325 output.type = OUTPUT_TYPE_HDMI; 325 output.type = OUTPUT_TYPE_HDMI;
326 } else if (name.find(kOutputName_DVI) == 0) { 326 } else if (name.find(kOutputName_DVI) == 0) {
327 output.type = OUTPUT_TYPE_DVI; 327 output.type = OUTPUT_TYPE_DVI;
328 } else if (name.find(kOutputName_DisplayPort) == 0) { 328 } else if (name.find(kOutputName_DisplayPort) == 0) {
329 output.type = OUTPUT_TYPE_DISPLAYPORT; 329 output.type = OUTPUT_TYPE_DISPLAYPORT;
330 } else { 330 } else {
(...skipping 259 matching lines...) Expand 10 before | Expand all | Expand 10 after
590 } 590 }
591 591
592 // Sometimes we can't find a matching screen for the touchscreen, e.g. 592 // Sometimes we can't find a matching screen for the touchscreen, e.g.
593 // due to the touchscreen's reporting range having no correlation with the 593 // due to the touchscreen's reporting range having no correlation with the
594 // screen's resolution. In this case, we arbitrarily assign unmatched 594 // screen's resolution. In this case, we arbitrarily assign unmatched
595 // touchscreens to unmatched screens. 595 // touchscreens to unmatched screens.
596 for (std::set<int>::iterator it = no_match_touchscreen.begin(); 596 for (std::set<int>::iterator it = no_match_touchscreen.begin();
597 it != no_match_touchscreen.end(); 597 it != no_match_touchscreen.end();
598 it++) { 598 it++) {
599 for (size_t i = 0; i < outputs->size(); i++) { 599 for (size_t i = 0; i < outputs->size(); i++) {
600 if ((*outputs)[i].is_internal == false && 600 if ((*outputs)[i].type != OUTPUT_TYPE_INTERNAL &&
601 (*outputs)[i].native_mode != None && 601 (*outputs)[i].native_mode != None &&
602 (*outputs)[i].touch_device_id == None ) { 602 (*outputs)[i].touch_device_id == None ) {
603 (*outputs)[i].touch_device_id = *it; 603 (*outputs)[i].touch_device_id = *it;
604 VLOG(2) << "Arbitrarily matching touchscreen " 604 VLOG(2) << "Arbitrarily matching touchscreen "
605 << (*outputs)[i].touch_device_id << " to output #" << i; 605 << (*outputs)[i].touch_device_id << " to output #" << i;
606 break; 606 break;
607 } 607 }
608 } 608 }
609 } 609 }
610 610
611 XIFreeDeviceInfo(info); 611 XIFreeDeviceInfo(info);
612 } 612 }
613 613
614 } // namespace chromeos 614 } // namespace chromeos
OLDNEW
« no previous file with comments | « chromeos/display/output_configurator_unittest.cc ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698