Juce: бінарні ресурси і фонова графіка

Відео: Террарія Проходження - [1]

Juce: бінарні ресурси і фонова графіка
The Jucer дозволяє дуже просто і елегантно працювати з будь-якими бінарними ресурсами. Припустимо, ми хочемо використовувати в програмі графічний файл juce.jpg. Переходимо на вкладку Resources і додаємо цей файл до списку. При збереженні бінарні дані з цього файлу переводяться в форму звичайного масиву С ++ і безпосередньо вставляються в код. Відповідний рядок має вигляд:
static const unsigned char
resource _ MyMainComponent _ juce _ png [] = {137,80,78,71, ...

У класі автоматично створюється змінна cachedlmage_ juce_png типу Image *, яка ініціалізується даними цього масиву в конструкторі. Її можна використовувати в коді для доступу до ресурсу. Весь службовий код для роботи з такими ресурсами (а його чимало) створюється автоматично.

Juce: бінарні ресурси і фонова графіка
Редагування фонової графіки в Jucer

Маючи набір графічних файлів, завантажених у вигляді ресурсів, можна переходити до однієї з найбільш вражаючих особливостей The Jucer - редактору фонової графіки (див. Рис. Вище). Перейдемо на вкладку Graphics. Тут можна редагувати фон нашого компонента, що відображається під віджетами. З контекстного меню можна додати різні геометричні примітиви, криві, малюнки і текст. Для кожного компонента можна вибрати заливку кольором або у вигляді лінійного або радіального градієнта, товщину і колір ліній і т.п. Контрольні точки градієнтів і кривих можна перетягувати мишею. Також можна задавати прозорість для всіх елементів, заповнювати фігури зображеннями і навіть перетворювати текст в криві. Редактор гранично зрозумілий і дуже приємний в роботі. Його, звичайно, не можна порівнювати з повновагими векторними редакторами начебто Inkscape, але зі своєю функцією створення красивого фону для віджетів він справляється на відмінно.

Код малювання поміщається в метод paint () нашого класу і, при необхідності, в метод resized (). Вивчивши його, легко зрозуміти логіку роботи операцій малювання в Juce. Зокрема, чітко видно, як The Jucer бере на себе всю чорну роботу по масштабування і розміщення примітивів при зміні розмірів вікна.

Структурний код обробників подій

The Jucer робить за програміста ще одну дуже важливу і не саму приємну роботу - генерує скелетний код для обробки подій всіх компонентів, поміщених на форму. Для кнопок є спеціальне властивість, яке дозволяє включати або відключати створення такого коду для даної кнопки, але для всіх інших компонентів обробники генеруються за замовчуванням (де тут логіка - незрозуміло). Структурний код для форми з двома кнопками виглядає так:
void MyMainComponent:: buttonclicked (Button * buttonThatWasClicked) {



// [Userbuttonclicked _ Pre] // [/ Userbuttonclicked _ Pre]
if (buttonThatWasClicked == textButton2) {
// [UserButtonCode _ textButton2] - add your button handler // code here ..
// [/ UserButtonCode _ textButton2]
}



else if (buttonThatWasClicked == textButton) {
// [UserButtonCode _ textButton] - add your button handler // code here ..
// [/ UserButtonCode _ textButton]
}
// [Userbuttonclicked _ Post] // [/ Userbuttonclicked _ Post]
}

Juce: бінарні ресурси і фонова графіка

В заголовки автоматично додаються необхідні успадковані класи:
class MyMainComponent:
public Component,
public SliderListener,
public ComboBoxListener,
public ButtonListener ...

Таким чином, залишається зосередитися на реальній логіці програми і вписати між коментарями потрібний код. Наявність «порожнього» коду для подій всіх компонентів безумовно захаращує текст програми, однак наявність готових «пустушок» дуже допомагає в реальній роботі: не потрібно пам`ятати, який метод реалізований, а який - ще немає. Тому що все робиться автоматично.

В наступній частині статті будуть розглянуті базові класи Juce і підведені підсумки.



Звичайно ж, Машинки Bruder (https://pogremuhka.ru/collection/Bruder) здасться Вам більш цікавими, ніж Juce, особливо, якщо Ви не працюєте в Linux. І саме тому я настійно рекомендую Вам відвідати pogremuhka.ru, де Ви зможете придбати ці чудові іграшки!

ІНШЕ

Juce: многопоточность фото

Juce: многопоточность

Нить в Juce реалізується класом Thread. Як і в багатьох інших тулкіта, це повністю віртуальний клас, наслідуючи який…

Обробка подій в juce фото

Обробка подій в juce

Відео: Уроки javascript | Урок №13 - Події і обробник подій Переважна більшість тулкіта для С ++ (Gtk +, Qt,…

Juce: контейнери фото

Juce: контейнери

Відео: Batman Arkham City. Серія 16 [2-ий контейнер з титаном. глушилка] Найбільш загальним контейнерним класом в Juce…

Juce: враження і висновки фото

Juce: враження і висновки

Відео: Малайзійка на підлогу шишечки - NASTY Juice! Бібліотека Juce виробляє двояке враження. Багато її можливості…

Juce: вкладені компонування фото

Juce: вкладені компонування

вкладені компонування У Juce використовується ідеологія, розглянута в попередній статті по U ++, - ієрархія віджетів…

Використовуємо the jucer фото

Використовуємо the jucer

Відео: Соковижималка Novis Vitajuicer Візуальний редактор компоновок The Jucer Як ми вже переконалися, розміщувати…

Ultimate ++: перша програма фото

Ultimate ++: перша програма

Відео: Уроки C # (C sharp) | # 3 - Перша програма на C # Перейдемо до реального прикладу. Напишемо просту марну…

» » Juce: бінарні ресурси і фонова графіка