>> я когда-то написал столь запомнившуюся тебе сентенцию
До тебя так и недошло что подобные фразы неуместны нигде))
>>Что до разделения в "архитектурных целях" то разделение скрипты / программа
Никакое это не разделение, это вынос некоторого функционала из компайлтайм в ран тайм. На таком этапе развития от скриптов вреда больше чем пользы.
>>если это не "прокладка" то я уж совсем ничего не понимаю ...

Говоря про разделение я говорю примерно о
Скрипт-Внутреннее представление графики-Система отображения
Без всяких конкретик типа канвас или метафайл. Используешь gdi как систему отображения - используются метафайлы, используешь OpenGL - используются gl специфичные буфера.
Причем части программы должно быть возможно тусовать без изменений в других частях. Например вместо скриптов использовать другой источник графики, вместо канваса опенгл...
>>То есть например есть :
А должно быть чтото наподобии
- Код: Выделить всё
Procedure Drw_LoadIMG (Dest:TDrawContext;X,Y,x1,y1:TCoordType;N:TYourString);
Var
PImageDesk:^ImageDesk;
begin
PImageDesk:=ImagesManager.FindLoadedImage(N);
If PImageDesk<>nil then ImagesManager.DrawImage(Dest,X,Y,x1,y1,PImageDesk)
else
begin
PImageDesk:=ImagesManager.LoadImage(N);
If PImageDesk<>nil then ImagesManager.DrawImage(Dest,X,Y,x1,y1,PImageDesk)
end;
end;
Т.е. разные моменты решаются в разных местах - откуда грузить диск-инет..., куда грузить битмап для канваса-текстура для OGL..., как выводить... Ну и естественно кэшировать, за лопатенье диска в онпаинт руки отрывать надо.
причем в скрипте данная функция должна быть зарегистрирована без Dest:TDrawContext зачем скрипту рисовать в другие места кроме как на область отображения, наверно ты это и решаешь курруанвасом.
>>Но метофайлы делают это проще и логичнее .. (Почти все обновление уместилось в одну процедуру )
Я тебе уже говорил что ты выбрал самый отстойный способ выделения объектов мышкой (Принцип пишем как слышим рулит, ага). Чтоб реализовать этот и многие другие моменты правильно (теже габариты определить) тебе понадобится информация о геометрии объектов в программе. Постоянно гонять для этого скрипты - медленно, метафайл прячет эту инфу внутри себя, недоберешся... Извиняй, в этом месте без нормальной "прокладки" никак
Добавлено спустя 22 минуты 43 секунды:>>За чем вообще скрипты прорисовки ? А затем, что ситуация может изменится противоположною.
Скрипты так скрипты, это мало что меняет. Это всеголишь способ получить геометрию объекта в программу. Способ не лучше и не хуже других (хотя с учетом что ps мертвый, наверно всетаки хуже)(также нормальные люди предпочтут визуальные способы пополнения примитивов - нарисовал "звезду" линиями, добавил в "базу" используешь вдальнейшем как примитив)
зы. чето глядя на твой скрипт подозреваю, что потом когда появятся инструменты работы с чертежом - например "повернуть вокруг произвольной точки" в таком скрипте повернется только точка вставки звезды, сама звезда крутится небудет. Вообще с учетом преобразований объектов вся твоя скриптовая система летит к чертям, т.к. ты загнал пераметризацию объекта внутрь скрипта.
ИМХО правильно преобразовывать объекты без учатия скрипта, т.е. применительно к этой звезде в скрипте только определять количество вершин, а поворот-растяжение-положение без участия скрипта