Icon - менеджер иконок рабочего стола

...
  • Спасибо :) Думаю добавить возможность отрицательных координат. Если иконку поместить дальше полэкрана, то её соответствующая координата становится отрицательной. И исчезнет проблема с выравниванием в разных разрешениях(которая была в версиях винды до XP :), да и в Линуксе есть)
    Чем больше сыра, тем больше в нём дыр. Чем больше дыр, тем меньше в нём собственно сыра. Значит, чем больше сыра, тем меньше сыра!
  • GerdtR wrote:Хм, вроде же как-то можно рисовать прямо на экране? Сразу в видеопамять. Или нельзя? Читать же можно через [gs: (y*xsize+x)*4] ?
    Можно, но нельзя. Сам подумай почему.
    Всем чмоки в этом проекте! Засуньте эти 11 лет себе в жопу!
  • Ну да, получается так и по окнам рисовать можно... Всё равно не вижу достаточно быстрого и простого алгоритма.
    Так, а теперь новая версия)) Поправлены все глюки с краями экрана. Если иконки настроить под одно разрешение, а запустить в другом, то иконки не будут торчать посередине и не исчезнут за край. В общем поведение такое же, как в старом icon.
    Attachments
    icon.zip (36.92 KiB)
    Downloaded 183 times
    Чем больше сыра, тем больше в нём дыр. Чем больше дыр, тем меньше в нём собственно сыра. Значит, чем больше сыра, тем меньше сыра!
  • GerdtR
    Идея раз.
    Создать поток с окном со стилем 1 (без отрисовки), размером 1х1 пиксель в углу экрана. Это окно отслеживает мышь. При клике на иконку окно разворачивается на весь экран. Это подавит перерисовки других окон. После этого можно рисовать с прямым доступом к видеопамяти. При отпускании кнопки окно снова уменьшается до 1х1.
    Идея два.
    Заменять курсор иконкой. Если размер иконки меньше 32х32, то в масштабе 1:1. Если больше, уменьшать до 32х32.
  • Serge wrote:Идея два.
    Заменять курсор иконкой. Если размер иконки меньше 32х32, то в масштабе 1:1. Если больше, уменьшать до 32х32.
    У меня тоже такая идея возникала, но я ее сразу отверг. Курсор у нас меняется при попадании на чужое окно, так что получается, что заменить ядерный курсор недостаточно - нужно заменять курсоры чужих окон также. В общем проблематично для реализации.
    Всем чмоки в этом проекте! Засуньте эти 11 лет себе в жопу!
  • Mario_r4
    Да, надо совмещать с пунктом 1
  • Вообще, почему курсор меняется, когда окно программы неактивно? Почему курсор обрабатывается "чужой" программой? ИМХО, курсор должна рисовать активная прога.
    Если было бы так, то можно было бы вместо иконки даже рисовать другой стандартный курсор - скажем, руку, которая перетягивает условную пиктограмму.
  • SoUrcerer wrote:Вообще, почему курсор меняется, когда окно программы неактивно?
    Потому что так работает код ядра.
    SoUrcerer wrote:Почему курсор обрабатывается "чужой" программой?
    Курсор обрабатывается своим "родным" ядром - никаких "чужих" программ.
    SoUrcerer wrote:ИМХО, курсор должна рисовать активная прога.
    У нас мало головной боли у прикладных программистов?
    Всем чмоки в этом проекте! Засуньте эти 11 лет себе в жопу!
  • Я не то имел в виду. Курсор рисует ядро, но когда курсор выходит из области окна программы - он заменяется на "умолчательный".
    На самом деле, в Windows если перетягиваемую иконку перетащить "в окно", то курсор меняется на тот, что был в окне, или на курсор вида "drag&drop". Так что всё норм. :)
  • SoUrcerer
    Замену на "умолчательный" сделал я. Представь, что неактивное окно сделало прозрачный курсор. Пользователь выводит курсор за пределы окна, и тот пропадает. Будет дискомфорт.
  • Да, я уже подумал об этом - всё верно сейчас, я неправ был.
  • Идея совместить: курсор + окно на весь экран мне понравилась. Попробую так. Хи, главное видео не включать)))) Хотя тоже проблема, но гораздо меньшая.
    Да и ещё. Думаю переименовать icon в @icon. Смысл в том, что появляется в панели задач меню правой кнопки. А если ещё и поток с окном 1х1, то будет ещё одно окно. Правда окно создания/изменения иконки тоже показываться не будет, что очень нервирует меня с подобными сис-окнами в Винде.
    Чем больше сыра, тем больше в нём дыр. Чем больше дыр, тем меньше в нём собственно сыра. Значит, чем больше сыра, тем меньше сыра!
  • Главное за деревьями лес разглядеть. Не нужно гнаться за WOW эффектом в ущерб надежности и производительности.
    Всем чмоки в этом проекте! Засуньте эти 11 лет себе в жопу!
  • Ну да. Кстати понял, чего такой слишком сильный прирост занимаемой ОЗУ. Я библиотеку загрузил дополнительную, box_lib. Вот она забирает.
    Чем больше сыра, тем больше в нём дыр. Чем больше дыр, тем меньше в нём собственно сыра. Значит, чем больше сыра, тем меньше сыра!
  • Who is online

    Users browsing this forum: No registered users and 11 guests