love5an: (Default)
Недавно от нефиг делать написал простой органайзер на WPF.
http://github.com/Lovesan/Organizer



Буду использовать как референсное приложение для Reactivity, то есть, буду развивать фреймворк в том направлении, чтобы это приложение на нем в итоге было переписано с еще меньшими усилиями, чем с которыми оно было написано на C# + WPF.

Программа хранит TODO-листы и сами задания в XML, умеет создавать, открывать, редактировать и сохранять их.
Написана в каноничном MVVM-стиле.

Что такое MVVM, вкратце, и почему я постоянно говорю что WPF(ну и Silverlight как его ответвление) - единственный вменяемый GUI-фреймворк на сегодня?
Read more... )
love5an: (Default)
Почему "модные"?
Ну потому, что look-and-feel в стиле Windows 2000 в 2011 году не моден.

Read more... )
love5an: (Default)
Добавил новые сущности в Reactivity.

Также, немного отрефакторил код, работающий с тредами и очередями событий системы, чтобы его было легче в дальнейшем реализовать на других платформах.

Read more... )

Reactivity

Aug. 14th, 2011 11:58 pm
love5an: (Default)
Вот, как-то так:
https://github.com/Lovesan/Reactivity

Буду пилить в свободное время, и по настроению.

Часть кода оттуда буду, наверное, пользовать в своем стартапе для гуйни.

Пока что там есть только какие-то базовые вещи для организации многопоточности и обработки событий(грубо говоря, аналог System.Windows.Threading.Dispatcher из WPF), но в будущем появится больше всего.

Пока что буду пилить backend только для винды, но в будущем наверное удастся сделать это все дело кросс-платформенным.

user32

Feb. 26th, 2011 09:44 pm
love5an: (Default)
Почти допилил биндинг к Windows USER, скоро будет крупный коммит в Doors.

Window

Вот это окно рисуется таким кодом:

(define-callback (my-wndproc :stdcall)
lresult ((hwnd handle) (msg uint) (wparam wparam) (lparam lparam))
(if (= msg wm-destroy)
(progn (post-quit-message) 0)
(def-window-proc hwnd msg wparam lparam)))

(defun main ()
(register-class (make-wndclass
:wndproc (get-callback 'my-wndproc)
:style '(:vredraw :hredraw)
:instance module-handle
:background color-background
:class-name "Window"))
(unwind-protect
(progn
(show-window (create-window
:class-name "Window"
:window-name "Window"
:style :overlapped-window))
(loop :for msg = (get-message) :until (null msg)
:do (translate-message msg)
(dispatch-message msg)))
(unregister-class "Window")))


Для сравнения - код, делающий аналогичное(!) на Си:
htp://pastebin.com/GBJh691R
love5an: (Default)
 К вопросе о линуксах на десктопе.

Допустим, у меня есть некоторое приложение на WPF. Назовем его свистелка и перделка крутилка и кнопка Rich Desktop Application.

скриншот )

xaml: http://pastebin.com/ENYv350S
code-behind: http://pastebin.com/M1924pMg
msvs solution: http://rghost.ru/4327919

Допустим, я его захотел портировать на линукс, и вообще, сделать всячески кроссплатформенным. Не потеряв функционал и внешний вид.

Какие усилия мне пришлось бы для этого приложить?
love5an: (Default)
Двумерный графический интерфейс пользователя существует где-то с начала 70-х.

На самом деле, со времени его изобретения, в Xerox PARC, он не особо-то сильно изменился.

Короче, это прошлый век. Прошлое тысячелетие. Сравните с интерфейсами, существующими в современных 3D играх, например.

Нужна революция.
Прозрачный кубик

Ок, что это такое? Этот полупрозрачный куб - "окно", отрисованное средствами Direct3D(10.1).
FancyCube.cpp : http://pastebin.com/EzVzpuKN
Shaders.fx : http://pastebin.com/bfJiMswu

Удерживая левую кнопку мыши, его можно вращать, а колесиком мыши регулировать прозрачность

Так что такого особенного? Read more... )

WPF

Jan. 19th, 2011 12:00 am
love5an: (Default)
WPF охуенно. WPF круто, нереально круто.

GTK+ - говно. Qt - говно. wxWidgets - говно. Tk - говно. Pure Winapi, MFC, ATL, WTL - говно. Windows.Forms - говно. Cocoa - говно. SWT - говно. Swing - говно. Все это блевотное говно.

А WPF пиздато.
Read more... )

Profile

love5an: (Default)
Dmitry Ignatiev

June 2020

S M T W T F S
 123456
78910 111213
14151617181920
21222324252627
282930    

Syndicate

RSS Atom

Most Popular Tags

Style Credit

Expand Cut Tags

No cut tags
Page generated Jul. 13th, 2025 03:20 am
Powered by Dreamwidth Studios