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

...
  • Пашет!!!! Всё, теперь иконки нормально можно таскать. Ещё пару мелких правок, подгонку координат и будет всё супер. Ну толком ещё не тестил, но вот пробная версия готова.
    Attachments
    icon.zip (38.49 KiB)
    Downloaded 183 times
    Чем больше сыра, тем больше в нём дыр. Чем больше дыр, тем меньше в нём собственно сыра. Значит, чем больше сыра, тем меньше сыра!
  • Mario_r4 wrote:К сожалению один из разработчиков по своему незнанию сделал так и решил не исправлять в дальнейшем (ну, кто нынче какие-то жалкие 4 Кб считает?) и библиотека утратила полную реентерабельность с физической точки зрения.
    Не будем говорить кто но все знают что это был слоненок :|
    Вообще любые библиотеки которые используют функцию lib_init не реентерабельны, это касается не только box_lib.
    GerdtR в твоем коде эта функция не вызывается:

    Code: Select all

    import  box_lib,\
            edit_box_draw,'edit_box',\
            edit_box_key,'edit_box_key',\
            edit_box_mouse,'edit_box_mouse'
    Так что пока можешь по этому поводу не беспокоится.
  • Как ты это реализовал - через курсор? Хочу такое же в Eolite'e.
    Из хаоса в космос
  • GerdtR
    Отлично сделано !
    Современное железо поддерживает курсоры размером 64x64 (АМД ещё умеет и масштабировать в два раза, получается максимальный размер спрайта 128х128) . Надо будет сделать поддержку больших курсоров в ядре, а то в 1920х1080 всё слишком мелкое.
  • GerdtR wrote:Пашет!!!! Всё, теперь иконки нормально можно таскать. Ещё пару мелких правок, подгонку координат и будет всё супер. Ну толком ещё не тестил, но вот пробная версия готова.
    Забавно видеть, как замораживается Gears - хотя на самом деле он продолжает работать.
    У меня только одно замечание по программе - не нашел как посмотреть путь запуска для уже существующих иконок. В общем нужно допилить немного менеджер иконок и можно заливать, альтернативным ICON. Старый пока лучше не удалять, даже если в ночные сборки будет прописан новый.
    Всем чмоки в этом проекте! Засуньте эти 11 лет себе в жопу!
  • Mario_r4, изменять иконки можно кликнув по ней правой кнопкой -> Свойства. На правую кнопку почти двойное меню. Если по иконке, то можно менять и удалять, если мимо, то можно только добавлять.
    Leency, да, через курсор. Алгоритм такой: как только начинается сдвиг иконки, то создаётся поток с прозрачным окно на весь экран(решил не держать окно постоянно). Этот поток устанавливает нужный курсор и не принимает сообщений, а завершается, как только условная переменная(у меня MovingActiv) становится = 0(перед запуском потока она устанавливается в 1). При завершении курсор удаляется(ну и автоматом устанавливается стандартный). А первоначальный поток просто следит за зажатой мышью и в случай отпускания кнопки приравнивает MovingActiv 0. А дальше главный поток уже читает координаты и т. д. . В icon.asm взгляните на код после метки MovingIcon, а поток окна с курсором в Moving.Inc(в первой процедуре основное, вторая для вычисления иконки, а остальное старый хлам :) Ещё не чистил, но в код это всё равно не включается).
    Serge, огромное спасибо за идею. Жду увеличенный курсор, у меня код готов к переходу на любой размер иконок(это моя первоначальная идея была, сделать легко изменяемый размер иконок).
    IgorA, я использовал dll.inc. В нём же вроде бы автоматом вызывается lib_init?
    Вот выкладываю безглючную ;) версию. Пожалуй её уже можно добавлять в ночную сборку.
    Attachments
    icon.zip (38.43 KiB)
    Downloaded 179 times
    Чем больше сыра, тем больше в нём дыр. Чем больше дыр, тем меньше в нём собственно сыра. Значит, чем больше сыра, тем меньше сыра!
  • GerdtR
    Кстати забыл упомянуть, что предыдущая версия опять крешилась, когда отсутствовал icons.dat
    Всем чмоки в этом проекте! Засуньте эти 11 лет себе в жопу!
  • А у меня без icons.dat нормально работает. По крайней мере самая новая. Вы лог при ошибке скиньте.
    Чем больше сыра, тем больше в нём дыр. Чем больше дыр, тем меньше в нём собственно сыра. Значит, чем больше сыра, тем меньше сыра!
  • GerdtR wrote:А у меня без icons.dat нормально работает. По крайней мере самая новая. Вы лог при ошибке скиньте.
    Там был PageFault.
    Всем чмоки в этом проекте! Засуньте эти 11 лет себе в жопу!
  • Мне нужен eip
    Чем больше сыра, тем больше в нём дыр. Чем больше дыр, тем меньше в нём собственно сыра. Значит, чем больше сыра, тем меньше сыра!
  • GerdtR wrote:Мне нужен eip
    Возможно был глюк, но теперь не падает. Проверил и текущую и предыдущую версии - обе запускаются без icons.dat, но ничего не рисуют.
    Всем чмоки в этом проекте! Засуньте эти 11 лет себе в жопу!
  • И не должен. Иконки же не созданы. Он хоть их создавать позволяет? Ну как положено работает?
    А у меня ещё чуть правленая вылетела с ядром в VirtualBox. Без файла icons.dat, правда, но надо разбираться.
    Чем больше сыра, тем больше в нём дыр. Чем больше дыр, тем меньше в нём собственно сыра. Значит, чем больше сыра, тем меньше сыра!
  • GerdtR wrote:Он хоть их создавать позволяет? Ну как положено работает?
    Да, в меню пункт добавить работает.
    Всем чмоки в этом проекте! Засуньте эти 11 лет себе в жопу!
  • Ну тогда всё хорошо. Выловлю этот последний(опять хи) баг.
    Чем больше сыра, тем больше в нём дыр. Чем больше дыр, тем меньше в нём собственно сыра. Значит, чем больше сыра, тем меньше сыра!
  • Who is online

    Users browsing this forum: No registered users and 11 guests