Про индийских программистов, которые не пишут код, а поют и танцуют

Тема в разделе "WASM.HEAP", создана пользователем _Juicy, 19 фев 2009.

  1. _Juicy

    _Juicy Active Member

    Публикаций:
    0
    Регистрация:
    12 авг 2003
    Сообщения:
    1.159
    Адрес:
    SPb
    Похоже, что шутка, вынесенная в заголовок - чистая правда. С MS Office приходилось работать много, но вот это меня добило.
    Заказали поменять цвет стрелочки на кнопке "автофильтра" в Excel.

    [​IMG]

    По-моему, любому адекватному человеку должно быть понятно, что такая кнопка должна лежать в виде битмапа в ресурсах. Однако наши индийские друзья рассудили по-другому.
    После долгих бесплодных поисков битмапа или графических вызовов для рисования, выяснилось страшное: кнопка целиком рисуется через PatBlt.
    То есть сначала делается PatBlt по всей поверхности одним цветом, потом PatBlt для вертикальных и горизонтальных кромок, потом четыре вызова PatBlt - для прорисовки стрелочки из 4х горизонтальных линий.
    Ну и вдобавок, перед каждым вызовом на всякий случай устанавливается не только цвет кисти, но и цвет текста и бэкграунда - мало ли, виндоуз не разберется, чем ей рисовать.

    Короче, я одного не понимаю - как оно еще и работает?
     
  2. deLight

    deLight New Member

    Публикаций:
    0
    Регистрация:
    26 май 2008
    Сообщения:
    879
    а ms-office разрабатывали индийские кодеры?
     
  3. rudik

    rudik Руденко Артём

    Публикаций:
    0
    Регистрация:
    6 дек 2006
    Сообщения:
    302
    Адрес:
    г. Харьков
    ВСЕ разрабатывали индийсие кодеры...
     
  4. _tmp17628

    _tmp17628 New Member

    Публикаций:
    0
    Регистрация:
    7 фев 2009
    Сообщения:
    144
    Возможно это нужно для отрисовки цветом, зависящим от системной палитры?
     
  5. dgs

    dgs New Member

    Публикаций:
    0
    Регистрация:
    23 июн 2008
    Сообщения:
    434
    Ладно еще при долгих уговорах поверю, что это нужно для отрисовки цветом, зависящим от системной палитры, но вот это уже слишком ламерски:
    да и туповато как-то...
     
  6. _Juicy

    _Juicy Active Member

    Публикаций:
    0
    Регистрация:
    12 авг 2003
    Сообщения:
    1.159
    Адрес:
    SPb
    А ведь верно!
    _tmp17628, ты вернул мне веру в M$ и человечество!

    Не знаю теперь, может это тоже имеет глубокий сакральный смысл? Например, для экономии кода запихнули все в одную функцию...
     
  7. Dian

    Dian Member

    Публикаций:
    0
    Регистрация:
    19 июн 2008
    Сообщения:
    222
    Скорее уж в один макрос :)
     
  8. murder

    murder Member

    Публикаций:
    0
    Регистрация:
    3 июн 2007
    Сообщения:
    628
    А меня напрягает размер exe ~10 Мб (IMHO слишком много).

    Хотя судя по всему Nero сделан ещё более по-индусски, т.к. копирует одни и теже dll в довесок к каждой утилите (утилиты расположены в разных каталогах).
     
  9. GoldFinch

    GoldFinch New Member

    Публикаций:
    0
    Регистрация:
    29 мар 2008
    Сообщения:
    1.775
    убейся, хранить каждый квадратик с треугольничком в битмапе - идиотизм. все где нет картинки - должно рисоваться GDI, иначе у тебя реально будет 10Мб ехешник.
    кроме того битмап немасштабируемый, кроме того при работе удаленного рабочего стола твои битмапы будут создавать лишний трафик, в отличие от передачи вызовов GDI

    ах да, нарисовать 3-4 примитива GDI быстрее чем нарисовать *****ю картинку
    ****(вырезано цензурой)*** интерфейсы из одних картинок
     
  10. _Juicy

    _Juicy Active Member

    Публикаций:
    0
    Регистрация:
    12 авг 2003
    Сообщения:
    1.159
    Адрес:
    SPb
    Мне стыдно за себя :'(

    Кста, в Mso.dll есть оочень похожий ресурс из четырех квадратиков. Интересно, он где-то используется, или остался как рудимент предыдущих версий?
     
  11. GoldFinch

    GoldFinch New Member

    Публикаций:
    0
    Регистрация:
    29 мар 2008
    Сообщения:
    1.775
    некоторые контролы требуют именно иконки, там проще использовать иконку чем сабклассить контрол и рисовать на нем через АПИ
     
  12. Ursus

    Ursus Member

    Публикаций:
    0
    Регистрация:
    15 мар 2006
    Сообщения:
    238
    Адрес:
    Russia
    Убейся, как, ****, потом такой ***** код саппортить, на *** ? Всё, что можно сделать битмапом, должно быть сделано битмапом. Кого сейчас парит 10Мб экзешник? Меня - абсолютно не парит.
     
  13. GoldFinch

    GoldFinch New Member

    Публикаций:
    0
    Регистрация:
    29 мар 2008
    Сообщения:
    1.775
    Ursus
    ты наверное на пхп кодишь раз привык что все картинками, а не рисуется
     
  14. Ursus

    Ursus Member

    Публикаций:
    0
    Регистрация:
    15 мар 2006
    Сообщения:
    238
    Адрес:
    Russia
    Спрашиваю еще раз - как потом ЭТО поддерживать?
    Как быстро и без геморроя менять стиль отрисовки? Скины?
    Как, глядя на сорсы, быстро представить визуально, ЧТО за хрень мы там рисуем?

    И вообще, современное железо (а вслед за ним - и всякие GDI, DirectX и т.п.) заточены именно под быстрый вывод битмапов ;)
     
  15. GoldFinch

    GoldFinch New Member

    Публикаций:
    0
    Регистрация:
    29 мар 2008
    Сообщения:
    1.775
    Ursus
    имхо примитивы выводятся быстрее битмапов,
    стиль отрисовки определяется системными цветами,
    сорцов экселя никто не видел, так что никто не знает как это выглядело на самом деле, как назывались функции (методы), были ли они написаны вручную или сгенерированы шаблонами.
     
  16. Y_Mur

    Y_Mur Active Member

    Публикаций:
    0
    Регистрация:
    6 сен 2006
    Сообщения:
    2.494
    Зачем спорите? оба подхода имеют право на существование :)
    BitMap-ы хороши тем, что позволяют лучше учесть пиксельность экрана, да и вместо множества мелких линий, прямоугольников и т.п. каждый размером в 3-4 пикселя есно лучше битмапом, но иногда лучше и векторная отрисовка, например для рамок контролов и не только.
    Проблема смены набора цветов легко решается через CreateMappedBitmap, а чтобы exe не раздувался win давным давно (кажется начиная с win98) поддерживает PiNG в ресурсах.
     
  17. _tmp17628

    _tmp17628 New Member

    Публикаций:
    0
    Регистрация:
    7 фев 2009
    Сообщения:
    144
    Вроде начиная с Windows 2000 ?
     
  18. Y_Mur

    Y_Mur Active Member

    Публикаций:
    0
    Регистрация:
    6 сен 2006
    Сообщения:
    2.494
    _tmp17628
    в 98SE точно работало, в 95 не пробовал, в первой версии 98 точно не помню, но кажется тоже срабатывало.
     
  19. _tmp17628

    _tmp17628 New Member

    Публикаций:
    0
    Регистрация:
    7 фев 2009
    Сообщения:
    144
    Y_Mur
    Мы наверно про разные вещи, я имею ввиду, что поддержка PNG появилась в gdiplus, которая появилась в Win 2000...
     
  20. Y_Mur

    Y_Mur Active Member

    Публикаций:
    0
    Регистрация:
    6 сен 2006
    Сообщения:
    2.494
    _tmp17628
    я уже точно не помню, но по моему эксперименты с PiNG в ресурсах мне удавались на 98 до того как я докачал к ней GDI+, правда IE у меня был не родной (4.0), а обновлённый 5 или 5.5. Но в любом случае 98 точно без проблем обгрейдится до поддержки PiNG, даже если изначально её там нет.

    Да кстати, в GDI+ поддержка PiNG это тоже только интерфейс к COM объекту, а сам этот объект кажется ставится IE, правда не помню начиная с какой версии.