Подпрограммы анимации и векторной графики

   Приводящийся ниже перечень заголовков подпрограмм  позволяет оценить возможности программы  DM_Paint и разобраться в её структуре. Подпрограммы находятся в модуле Anim_D и в модуле Модуль1, занимая часть последнего.
   Что касается размера подпрограмм, то большинство из них занимает столько места, сколько занимает этот перечень. То есть, подпрограммы не очень большие. Размер вполне разумный, чтобы его обозревать.


 МОДУЛЬ   Anim_D

'============РАЗДЕЛ АНИМАЦИИ ~~~ ПАНЕЛЬ АНИ

Public Sub CWpic(M As Integer, K As Integer)  'АНИ -маленькая п/п
Public Sub Wini(K As Integer) 'управление панелью АНИ - поле 12
Public Sub WP12(XX As Single, YY As Single) 'исполнитель кликов по полю 12
Public Sub Fot32() 'установка флага титров через N -№строки Пата
Public Sub MPlay(M As Integer) 'прокрутка большого фильма от клавиши M -0,1 пробел -2(прервать)
Public Sub WPP() 'перезапись кадров в папку Кадры_из_папки_0
Public Sub WPR(M As Integer) 'нажатие на клавишу R == реконструкция анимации
Public Sub WP7(K As Integer) 'чтение и демонстрация рисунка
Public Sub WP7Af(M As Integer) 'выделение фрагмента для записи фильма
Public Sub WP12A(XX As Single, YY As Single) 'изменение Nop   -клик по полю12 прав.кн.мыши
Public Sub WReW(M As Integer) ' Запись фильма из окна просмотра
Public Sub WRauto() ' автозапись после ПринтСкрин
Public Sub WPani(M As Integer) '0-нажатие клавиши <P>   1-клик по полю подсказки
Public Sub WReN() 'Манипулятор названий. Переименовывает файлы в папке CP (кн.Градиент)
Public Sub W33(M As Integer) 'Работа с канвой. Прорежение и заполнение для рисования покадровой анимации
Public Sub W33L() 'набрасывание канвы с предварительным чтением из буфера К

'============РАЗДЕЛ ВЕКТОРНОЙ ГРАФИКИ ~~~ РЕДАКТОР

Public Sub VPvv(M As Integer) 'запись в массив Pvv(20000, 10) и обслуживание его
Public Sub Yoo(M As Integer) 'нажата клаиша ё   -делаем контур силуэта
Public Sub Vpat1(M As Integer) '0 -линуем лист на паттерны, 1 -устанавливаем Cg и Cr
Public Sub Vpat2(N As Integer) ' паттерн -маленькая п/п
Public Sub Vpat(N As Integer) 'рисуем паттерн
Public Function Usc(Uo As Integer) As Integer 'изменение угла в элементе Паттерн
Public Sub Wpat(N As Integer) 'рисуем Пат
Public Sub V13P(M As Integer) 'ПРОСМОТР в текстовом окне
Public Sub V4P(M As Integer) 'установить Параметры
Public Sub V6P(M As Integer) '1 -ЗАМЕНА элемента  NPvo => N,  0 -УДАЛЕНИЕ 2 -Извлечь 3 -Переместить
Public Sub M26toF37(M As Integer) 'фигура 37 из Многоугольника
Public Sub R13toM26() 'Многоугольник из Прямоугольника
Public Sub L29toM26(M As Integer) 'Многоугольник из Ломаной и обратно
Public Sub IL29(M As Integer) 'Инвертировать точки Ломаной
Public Sub V36(M As Integer) 'F/f G/g H -создать фигуру 36 37 с_заливкой/без H-вернуться к
Public Sub V3138(M As Integer) 'M=1 от строки меню J -разбить фигуру /соединить кривые/2-подсоединить сегмент
Public Sub V31P(M As Integer) 'расстановка меток
'===================== РАБОТА С НОМЕРАМИ ГРУПП ==============================
Public Sub VPNN(M As Integer) 'от клавиш 0,1-<Enter> и 2,3-<Esc> 4-сброс
'===================== ПЕРЕМЕЩЕНИЕ ГРУППАМИ ==============================
Public Sub VPH() 'сдвиг всех элементов
Public Sub Ovo(M As Integer)   'отражение N=PPv
Public Sub Xvx(M As Integer)   'сжатие по Х N=PPv
Public Sub Eve(M As Integer)   'проверка на вытекание заливки кл.e/E
'======================== И З М Е Н Е Н И Е ======= элемента век.графики от кн.Закрепить
Public Sub V3PCom20(M As Integer)
Public Sub VPQ(M As Integer) 'M=Shift  -возврат элемента через нажатие Э =====
Public Sub VPM(M As Integer, Sh As Integer) '====================  выбор сегмента
Public Sub V3P(M As Integer, XX As Single, YY As Single) 'кнопка ПОКАЗАТЬ и перемещения-повороты элементов
'========    ЗЕЛЁНАЯ ОПЦИЯ ВЕКТОРНОЙ ГРАФИКИ ==============================
Public Sub V3PL4(M As Integer, XX As Single, YY As Single) '1-down 2-up правка контура ЗЕЛЁНАЯ ОПЦИЯ
Public Sub V3PL4p7(M As Integer, XX As Single, YY As Single) 'Ломаная и Мн-к на поле_7 с увеличением 4х
Public Sub L4L(M As Integer, XX As Single, YY As Single) 'работа с окном_L сдвиг точек стилусом
Public Sub L4Lkn(M As Integer) 'сдвиг т.фиг.Безье кнопками 1 2 3 4 -влево вправо вверх вниз
Public Sub L4LDd(M As Integer) 'D/d 1/2 удвоить/удалить сегмент фиг.Безье кнопками окна_L
'=== конец зелёной опции

Public Sub V3PL4(M As Integer, XX As Single, YY As Single) '1-down 2-up правка контура
Public Sub V3PN(M) 'нормализация контура Ломаной или Мн-ка (равномерное расположение точек)
Public Sub V3PB(M As Integer) 'сдвиг оттягивающих тт.при редактировании формы фигуры Безье
Public Sub Vend(M As Integer) 'End/Ъ показ и установка цвета сегмента кривой Безье, ъ=> М=2 Ъ=> М=3
Public Sub VPpicA(NN As Integer) 'Срисовать и изменить элемент со строки NN
Public Sub VPpic(NN As Integer) 'Срисовать элемент со строки NN
Public Sub FOG(XX As Integer, YY As Integer, D As Integer, o As Integer) 'большой разреженный круг
Public Sub Eye(D As Integer, A As Single) 'особые детали Фигуры 37
Public Sub VPrun(MM As Integer) 'прогон массива G с опцией MM, создание списка элементов
'================ СОХРАНЕНИЕ И ЗАГРУЗКА ГРАФИКИ ========================
Public Sub AGv(M As Integer) 'сохранение и загрузка графики из файла "AGv.txt"
Public Sub AGvi() 'морфинг загруженной графики к графике из файла "AGv.txt" (клавиша_I)
Public Sub CDv(M As Integer) 'загрузка графики из текстового файла через окно диалога
Public Sub CDv2(M As Integer) 'вывод графики в текстовый файл через окно диалога
Public Sub CDv3(M As Integer) 'вывод графики в SVG файл через окно диалога
Public Sub SVGs(NN As Integer) 'вывод в формате SVG
Public Sub CDv4(M As Integer) ' создание файла-архива и извлечение мелких файлов из него
'======

МОДУЛЬ    Модуль1
...
Public Sub ZAL(XX As Integer, YY As Integer) 'заливка общего назначения
'================РАЗДЕЛ ВЕКТОРНОЙ ГРАФИКИ ============================
Public Sub ZALc(XX As Integer, YY As Integer, V As Integer) 'подготовка цвета для рисования и заливки фигуры 37
Public Sub ZAL1(XX As Integer, YY As Integer, V As Integer) 'заливка внутри контура заданного цвета
Public Sub ZAL2(XX As Integer, YY As Integer, V As Integer, V1 As Integer) 'градиентная заливка контура
Public Sub BzT6(X As Integer, Y As Integer, M As Integer, V As Integer) 'создать кривую Безье
Public Sub BzT(X As Single, Y As Single, M As Integer) 'создать кривую Безье -вариант 1
Public Sub BzS(M As Integer) 'сохранение кривых Безье и других элементов графики
'======
_______
8.01.2021


Рецензии