Максимальное разрешение достижимо через Xcode:
image

Существуют приложения, в том числе, открытые для того, чтобы выставить полное разрешение. Представьте себе, через программу настройки, MacOS такой возможности не даёт. В этой же статье я покажу, как можно это сделать на С++ для тех, кому это нужно в разработке игр или специализированных графических приложений. Самому мне, как разработчику, это нужно было, чтобы увеличить рабочее пространство.

#include <iostream>
#include <CoreGraphics/CoreGraphics.h>

int main(int argc, const char * argv[]) {
    // insert code here...
    auto mainDisplayId = CGMainDisplayID();
    
    std::cout << "Current resolution was "
    << CGDisplayPixelsWide(mainDisplayId) << 'x'
    << CGDisplayPixelsHigh(mainDisplayId) << std::endl
    << "Supported resolution modes:";
    
    auto modes = CGDisplayCopyAllDisplayModes(mainDisplayId, nullptr);
    auto count = CFArrayGetCount(modes);
    CGDisplayModeRef mode;
    for(auto c=count;c--;){
        mode = (CGDisplayModeRef)CFArrayGetValueAtIndex(modes, c);
        auto w = CGDisplayModeGetWidth(mode);
        auto h = CGDisplayModeGetHeight(mode);
        std::cout << std::endl << w << 'x' << h;
    }
    CGDisplaySetDisplayMode(mainDisplayId, mode, nullptr);
    std::cout << " is the selected top one." << std::endl;
    std::cin.get();
    return 0;

}

Также надо добавить фреймворки CoreGriphics и CoreFoundation в настройках проекта.

Как добавить фреймворки.



Apple поддерживает более высокое разрешение, чем заявлено. Текущее разрешение было 1440x900. Поддерживаемые режимы разрешения:

640х480
800х600
1024x768
1280x800
1440x900
2048x1280
1152x720
2304x1440 << заявленное максимальное разрешение
2560x1600 << выбранное разрешение.

Полноразмерное изображение здесь.
Поделиться с друзьями
-->

Комментарии (26)


  1. FeNUMe
    22.10.2016 14:41
    +11

    Вы бы в начале статьи описали какую проблему она решает, а то совершенно не ясно к чему эти танцы с бубном.

    И да у переводов свой тип статей:
    image


    1. iHateInventNames
      22.10.2016 18:33
      -18

      Название статьи «Разрешение под MacOS на C++» как бы детерминистично намекает про свой контент. А за то, что показали, как размещать перевод большое Вам спасибо. Дабы знал, то указал бы. Хотя статья, вобщем-то моя и та, и эта.


      1. kez
        22.10.2016 19:13
        +2

        Прочитав «разрешение», первым делом подумал про «permission», чем заголовок статьи, собственно, и порвал шаблоны.

        Уточните хотя бы, что речь про разрешение экрана.


        1. TimsTims
          22.10.2016 20:57

          Тоже подумал — про какое разрешение идёт речь? Если бы речь шла про разрешение экрана, то об этом обычно явно пишут на хабре. А тут «разрешение под mac» и какой-то саркастический тон в отношении Стива, подумалось что имеется ввиду разрешение на разработку в среде C++ на MacOS'ах, ведь учитывая привычки Apple всё запрещать, это казалось вполне возможным сценарием. Короче заголовок и хабракат вводит в заблуждение)


  1. Ernado
    22.10.2016 16:06
    +12

    Если вы хотели похвастаться новым маком, вовсе не нужно было еще добавлять в статью C++ код непонятного, в данном контексте, назначения.


    1. iHateInventNames
      22.10.2016 18:44
      -12

      Статья на тему «посмотрите, какой у меня прекрасный новый макбук» была бы скучной. А это — полезная статья, англоязычный вариант которой, уже не одного читателя натолкнул открыть впервые IDE. Надеюсь, теперь и русскоязычных людей подтолкнёт к прекрасному.


      1. Error1024
        22.10.2016 23:27
        +5

        Мы на хабре, здесь люди уже сидят с открытыми IDE. Кроме того что вы похвастались макбуком с статье ничего нет.


        1. iHateInventNames
          25.10.2016 23:11

          Не у всех. А, даже, и первочитателей, поисковик приведёт на habrahabr.ru.


          1. Error1024
            29.10.2016 01:57
            +1

            ЩИТО?


            1. iHateInventNames
              30.10.2016 20:39
              -1

              Вам будет легче меня понять, если вы ознакомитесь с этой статьёй http://econet.ru/articles/111168-vyhod-iz-treugolnika-karpmana и примените её информацию к своему посту. А пока проясню: далеко не каждый посетитель Хабрахабр — программист. Возможно, количество переводчиков и лингвистов — суммарно, даже превосходит. Поэтому то, что вы написали — не соответствует действительности. Не думаю, что для вас было бы новым услышать, учитывая заявление о том, что у всех, а к ним вы причисляете себя — запущена среда разработки, что существуют поисковики, которые могут привести людей, что буду искать информацию, которая находится в этой статье, на эту страницу. Если почитаете ещё-раз мой ответ на ваш комментарий, на который вы ответили «ЩИТО?» то возможно, осознаете, что содержимое его детерминистично об этом повествует. Вербозность излишняя — не всегда хорошо, а порою, даже, помимо того, что забирает время, вредно. Думаю, это я вам продемонстрировал.


  1. BasilSnowman
    22.10.2016 16:49
    +6

    «чтобы сделать работу очень приятный!» — извините, Вы забыли добавить указатель, что это перевод.


  1. lolipop
    22.10.2016 17:02

    о чем вообще статья? автор решил велосипеднуть RDM?

    PS для задания новых ретина-разрешений, не поддерживаемых монитором можно воспользоваться этим


    1. iHateInventNames
      22.10.2016 18:39
      -10

      Да. Для тех, кто в кодинге не осведомлён, полезная краткая статья, англоязычный вариант которой, уже не одного читателя натолкнул открыть впервые IDE.


    1. myxo
      22.10.2016 21:42
      +2

      я вот тоже не понял о чем статья. Ну то есть по-настоящему не понял. Пару несвязанных предложений со словами «разрешение» и кусок кода. Что за проблема вообще решается-то?


      1. iHateInventNames
        22.10.2016 23:45

        Я постарался исправить эту оплошность — поменял заголовок, добавил видео. Теперь лучше?


  1. dom1n1k
    22.10.2016 18:21

    Вот кстати. Поинтересовался я как-то макбуками, заглянул на фирменный сайт и что я там вижу?

    Native resolution: 2560 by 1600 pixels (Retina); scaled resolutions: 1680 by 1050, 1440 by 900, and 1024 by 640 pixels
    Native resolution: 2880 by 1800 pixels (Retina); scaled resolutions: 1920 by 1200, 1680 by 1050, 1280 by 800, and 1024 by 640 pixels
    Для 13 и 15 дюймов соответственно. Ссылка: http://www.apple.com/macbook-pro/specs-retina/

    Вот я хочу понять, что нужно курить, чтобы настроить экраны на dppx 1.52, 1.77, 2.5, 1.5, 1.71, 2.25 и 2.81 — но пропустить самое логичное и очевидно значение 2?
    1280*800 и 1440*900 — очень подходящие (и некогда очень распространенные) разрешения для таких экранов.
    Что помешало? Ведь это чисто софтовая примочка. Выше моего понимания.

    И примерно похожая картина с «плюсовыми» айфонами, кстати.


    1. kez
      22.10.2016 18:37

      Это опечатка на сайте, для 2560x1600 по умолчанию стоит scale 2, т.е. 1280x800


    1. alexkunin
      22.10.2016 19:06
      +1

      Это просто неудачный вординг.

      Нативное разрешение — матрица именно 2560x1600. Ретина — это удвоенная плотность (или учетверенная, если по площади), и разрешение логическое при указанном физическом будет 1280x800 — такое оно по-умолчанию, а если включить переключатель разрешений, то именно это будет отмечено как «Default».

      Все остальные указанные разрешения — именно масштабированные.

      Надеюсь, мой не менее неудачный вординг не запутал вас.

      Короче, указав «Native resolution: 2560 by 1600 pixels (Retina)» они как бы сразу указали то самое логическое 1280x800. А вот масштабированного 1280x800 действительно нет в стандартном UI. Т.е. нет такого режима, в котором и логическое, и физическое будет 1280x800.


  1. GRIM2D
    22.10.2016 18:27

    Зачем? Because I can?

    Мне кажется, просто множитель упал с 2х на 1х. Да скрин выглядит круто, на на 13' или 15' невозможно работать.

    PS. На макбуках без ретины не работает


  1. Sovigod
    22.10.2016 18:27
    +1

    Как бы switchresx. Делает это уже давно.


  1. gearbox
    22.10.2016 18:52
    -8

    Никого не слушай, они тебе просто завидуюут… песши ище.


    1. gearbox
      26.10.2016 15:13
      -1

      тяжко с юмором у хабровчан, похоже эта статья реально в кассу.


      1. Error1024
        29.10.2016 01:57
        +1

        С неуместным — тяжко, да


  1. GoldenStar
    22.10.2016 18:54
    +2

    Статья нужна для тех, у кого не ретина дисплей, а он пишет софт под iPhone… Крайне не удобно видеть эмуляцию устройства не в полный «рост» на экране макбука и еще и скроллить из-за этого экран. Как написали выше — есть спец софт для смены разрешения экрана макбука.
    В общем то нужная статья, если, еще и обратить внимание на полезнные комментарии. Название статьи ни разу не информативное — желательно писать по понятнее для простых людей, если уж в паблик выкладывается.


    1. dvor
      22.10.2016 20:21
      +1

      Крайне не удобно видеть эмуляцию устройства не в полный «рост» на экране макбука и еще и скроллить из-за этого экран.


      Гораздо проще нажать ?1, ?2, ?3, ?4, ?5 и уменьшить симулятор до нужного размера.

      P.S. не эмуляция, а симуляция.


  1. iHateInventNames
    30.10.2016 19:24
    -1

    Всем снова здравствуйте. Это моя третья статья на Хабре. Просьба плюсовать, если хотите видеть подобные статьи. Просьба минусовать, если не хотите видеть подобные статьи. В этом случае я удалю свои статьи и аккаунт. Лично я считаю подобные статьи очень полезными — коротко и по-сути. Другая моя статья https://geektimes.ru/post/276108/ — гораздо более вербозная и по-сути, возимела больший успех. Все мои статьи будут по-сути. Возможно с юморком. Спасибо!