Загальне
Скріншоти
Інтерфейс
Реалізація
Даунлоад
Прогрес
Форум
Чат
Адреси
Написати
 
Політ - прогрес роботи

Дата: 03.07.2001, середа
Загальний об'єм написаного коду: 122,542 байт
Зміни за останні дні: за 35 днів - плюс 6,111 байт
Розмір EXE-файла Польоту: 128,749 (-408 байт, як не дивно)
Зараз іде робота над (скоріш за все):
 - ще деякі навороти для хінтів;
 - горизонтальна лінійка прокрутки;
 - елемент керування список;
 - підтримка ICO та CUR-файлів;
 - настройка кольорів елементів керування;


Нижче схематично показано, на якій стадії зараз знаходяться основні частини та концепції нового Польоту. В процесі роботи я потроху оновлюватиму ці діаграмки, аж поки всюди не буде по 100% :).

Загальна структура
Загальна структура:   80%

Графічний інтерфейс
Елементи керування:   70%
Рамки вікон:   60%
Екранні панелі:   70%

Модулі Польоту
D (Different):   80%
Log:   100%
Mouse:   90%
Gfx (Graphics):   85%
Font:   90%
Pic (Pictures):   30%
Types:   60%
Kernel:   60%
WinLook:   60%
Ctl (Controls):   30%

Додатки (програми під Політ)
FirstApp (тест):   100%
TaskBar:   85%
Timer1:   100%

Щоденник ;)

03.07.02, 16:57

...некоректна операцiя. Да така, що Паскаль взагалi запускатися перестав. Перезавантажився, шукаю далi...

I've found her! Нiчого особливого, просто рядки переставити треба було. Спочатку записати у змiнну, а потiм юзати її. А змiнна мiстить адресу процедури. Бiльше нема питань, чому некоректна операцiя? А взагалi досить кульно вийшло. Зараз пiду подивлюся Баффi та почну прив'язувати цi хiнти до елементiв керування.

19:31 Виправив цiкавий лаг: коли хiнт з'являвся i через якийсь час зникав, вiн скоро з'являвся знов i так далi. Тепер спробую зробити нормально клiк при показаному хiнтi (нагадую, зараз клiки просто iгноруються).

Клiк працює.

Буду вже прив'язувати хiнти до елементiв керування. I почну, звiсно, з типiв...

19:58 Пiсля типiв поправив кернельський AddCtl, потiм всi контролi, а потiм всi програми, що юзають контролi. Поки все працює як ранiше. Залишається останнiй ривок - зробити маленьку перевiрочку при показi хiнта.

Ну, з Богом... СУПЕРРР!!!! Чудово. Все працює i нiчого нi з чим не конфлiктує, що взагалi дивовижно :). Пiдправляю по дрiбницях...

02.07.02, 08:21

Виписав для хiнтiв цiлий аналог процедури HeartOfPolit - щоб крутила таймери до руху мишки. Димовий тест... Бiльш-менш.

Зберiгаю старi обробники (Hide/Show/Refresh)Mouse, щоб хiнти не конфлiктували з iншими механiзмами подiбного роду (типу рамочки перемiщення вiкна). Працює. Але менi цього не досить, спробую зробити ще коректнiше.

01.07.02, after Metro (com.ua)

Ну добре, годi поки що з DLL. Треба знайти когось розумного i розпитати, а не наступати на граблi особисто. Краще спробую зробити хiнти.

Працює. У такому виглядi: через 2 секунди нерухомостi мишки виникає хiнт "What are you waiting for? Christmas?", який зникає пiсля KeyPress'а. Продовжую.

30.06.02, 15:04

Роблю вiдважну спробу запрограмувати запуск зовнiшнiх додаткiв iз DLL.

15:53 У першому наближеннi виписав. Пробний запуск (як його називав там ван Тассел? "Димовий тест")... з'являються вiкна трьох built-in програм, а далi випадає. Ну, дякувати, хоч не банальна некоректна операцiя. Будемо розбиратись.

Випадаємо у процедурi RunDLL, щойно виписанiй. Невже доведеться брати tdx пiд чистим DOSом...

16:15 (under clean dos) один ляп знайшов, фiксю...

16:32 хм, тепер випадаємо у DLL при AssignPStr для заголовку вiкна... невже не вистачає пам'ятi? tdx каже, що її на той момент принаймнi 63,5 MB... зробимо перевiрку у самiй AssignPStr. ...нi, схоже проблема не в цьому... випадаємо без видимих причин...

29.06.02, 09:35, нарештi I'm back, сьогоднi мав бути B5 weekend :( Demons and wizards [...]
Sword of freedom [...]
Legendary warrior ride [...]
I call to you to save my land,
To fight the darkness,
To scream free forevermore!..

Знайшов i пофiксив баг. Ранiше, якщо згорнути всi вiкна, а потiм спробувати розгорнути якесь, ми виконували некоректну операцiю. Виявилося, коли всi вiкна були згорнутi, ActiveWin дорiвнював Nil. А при клiку на панелi задач ми спочатку намагалися де-активувати активне вiкно - ну, те саме, яке зараз Nil. ось i мали неприємностi. Пофiксено, i це було легко. Добра прикмета.

13.06.02, 18:25

Знайшов баг iз полем вводу: при прибираннi курсора у Refocus не враховується, чи знаходиться вiн у межах вибраного текста.

01.06.02, 10:43

Баг. У полi вводу якщо поставити курсор на символ лiвiше видiлення, вiн буде блимати бiлим та синiм.

Запустив Полiт разом iз PSP, ACDSee та STP, i виникли графiчнi глюки.

28.05.02, 09:40, пiсля Star Wars Episode ][

Нарештi доробив оту фокусну рамочку. Ви не повiрите, скiльки довелося переписувати заради такої дрiбницi.

Зате знайшов глюк. Якщо згорнути всi вiкна крiм одного, оце одне закрити, а потiм клiкнути на будь-якiй кнопцi панелi задач - ввиконуємо некоректну операцiю.

20.05.02, 09:56

Зробив обробник. Тепер треба: а) переробити дiї системи при (де)активацiї контролiв та б) навчити елементи керування (роз)видiляти себе в обробнику OnDraw.

Погано без iнтернет... Починається ломка. Скоро пiду куплю собi картку.

12:38 Нiби запрацювало зникнення видiлення активного контроля при де-активацiї його вiкна. У всiх проявах, яких виявилося багато, так.

18.05.02, пiсля ВКмт

дещо переробив кнопку - так, щоб флажок Pressed передавався не як параметр OnDraw, а зберiгався у даних кнопки. Так а) буде зручнiше юзати кнопку i б) OnDraw набуде стандартного вигляду, i цю процедуру можна буде зробити стандартним обробником для контролiв. Але спочатку перевiрю, чи працює ВОНО все ще...

Нi, не працює. Range check error.

Розiбрався. Запрацювало, але кнопки таскбара якось не так працюють. Хоч я i не пам'ятаю, як вони працювали ранiше.

20:11 Коротше, тепер усе працює як ранiше. Хотiв зробити трохи краще, але... Ладно, продовжую цi обробники OnDraw.

17.05.02, 19:49

Берусь за нову подiю для контролiв - OnDraw та пiдтримку її ядром. Це виражатиметься в тому, що при де-активiзацiї вiкна з його активного контроля прибиратиметься рамка. А також при втратi фокуса контролем вiн зможе вiдповiдно промалюватися.

15.05.02

Треба вже доробляти лiнiйку. Доробити, власне, залишилось двi речi: зробити, щоб бiгунок не мiг бути меншим певного розмiру (10-12 пiкселiв) i переписати малювання при перемiщеннi бiгунка, оптимiзувавши його на швидкiсть.

Це круто. Передивився процедури малювання та клiку на лiнiйцi, став думати, як можна переписати їх коротше. В результатi викинув пiвтора кiлобайта тексту! Правда, за рахунок деякого зниження швидкостi.

Згадав одну фiшку, як можна помiтно зменшити розмiри Польоту. Але поки що не робитиму цього - краще залишу на якесь свято. Наприклад, на День незалежностi.

12:40 Уже значно краще, але ще порядком глючить.

От тормоз! Це ж було елементарно. ...ну, тобто бiльше не глючить.

Все, готово. Бiльше _нiчого_ не глючить. На майбутнє: мабуть, усi проблеми мають просте й ефективне вирiшення - треба тiльки зупинитися, вiдiйти вiд компа i спокiйно обдумати все.

13.05.02, пiсля Sergey Star birthday


Ура! Виловив баг iз завантаженням 8-бiтних bmp. Я просто забув видiляти плюс 4 байти для розмiрiв картинки, i байти iз розмiром накладались на данi картинки.

11.05.2002, 13:17, коли я скачав фотки i пiсню з пiкнiка
      Ты просто была живою,
      Ты просто была свободной...


Wow... Wow! Починає працювати прокрутка за бiгунок!

Рулез! Думаю, це буде дуже-дуже-дуже зручно.

15:16 Повнiстю працює прокрутка за бiгунок. Тепер берусь за клiк на "шахтi" лiнiйки (мiж стрiлками i бiгунком). Потiм залишиться лише оформлення. Так, i не забути викликати OnUpdate.

18:31 Працює клiк на шафтi.

Треба для поля вводу зробити акселерацiю при прокручуваннi.

10.05.02, 09:34

Зробив прокрутку з клавiатури (Up, Down, PgUp, PgDn, Home, End). Трохи оптимiзував - щоб не перемальовувалася, якщо нiчого не змiнилося. Малювання зроблено дуже неоптимально, треба буде переробити. Ну, так само, як i минулого разу.

10:51 Починає працювати прокрутка мишкою, поки що лише клiками по стрiлочках. Красивi глюки виходять, якщо плутати обробники рiзних контролiв (ну там, у Scroll_Timer викликати InpLine_Draw i так далi). Треба запам'ятати на наступне перше квiтня.

21:08, пiсля Jin-Roh: The Wolf Brigade
Помiтив ще лаг: якщо клiкнути мишкою на лiнiйцi i, не вiдпускаючи кнопки мишки, натиснути якусь клавiшу на клавiатурi, все стопориться. Перевiрю.

09.05.02, 18:04

Беруся за лiнiйку прокрутки.

У мене таке враження, що при клiку всерединi вiкна воно перемальовується, навiть якщо воно i було на передньому планi. Треба буде перевiрити.

18:42 Ура! Малюється правильно (для даних TotalLen, VisLen та FirstItem). Зараз ще трохи пограюся з її виглядом та почну робити реакцiю на клiки.

Весь Щоденник
Hosted by uCoz