Сегодня опубликовали статью “Закруглённые изображения на Qt Quick Scene Graph” на ХабраХабр
RMH
Aqua Utopia|海の底で記憶を紡ぐ
★
Show & Tell

shark vs the universe
Noah Kahan
PUT YOUR BEARD IN MY MOUTH
untitled

@theartofmadeline

❣ Chile in a Photography ❣

sheepfilms

roma★
occasionally subtle
Keni
𓃗

Andulka
h
Mike Driver
seen from Canada

seen from United Kingdom
seen from Netherlands
seen from Saudi Arabia

seen from Ukraine
seen from Bangladesh

seen from Brazil
seen from Bangladesh
seen from United States
seen from United Kingdom
seen from Germany
seen from United States

seen from United States
seen from Georgia

seen from Indonesia

seen from United States

seen from United States
seen from United States

seen from Türkiye
seen from Brazil
@siberian-programmers
Сегодня опубликовали статью “Закруглённые изображения на Qt Quick Scene Graph” на ХабраХабр

Anya is live and ready to show you everything. Watch her strip, dance, and perform exclusive shows just for you. Interact in real-time and make your fantasies come true.
Free to watch • No registration required • HD streaming
Да здравствует OpenSource
Вчера мы открыли исходный код наших технологий и выложили его на GitHub. Вот ссылка на наши репозитории: https://github.com/SiberianProgrammers
На днях добавили экраны расписания и моего профиля, прикрутили анимацию, добавили синхронизацию данных там где нужно и прототип готов!
Редизайн сайта
В первый рабочий день в новом году я решил переделать дизайн сайта. Если раньше он просто представлял из себя визитку на один экран, то сейчас это развёрнутая посадочная страница (не люблю этот термин). Шаблон сайта я взял с html5up.net, а фотографии с бесплатного стока фоток pixabay.com.
Бета-версию сайта можно посмотреть по адресу: programmist.me/beta.
03 января 2016
С Новым Годом!
В уходящем году мы запустили свой сайт, начали писать свой блог, и, самое, главное много программировали. Хочу представить небольшую статистику нашей работы:
1 сайт
2 демо-приложения в Google Play
13 репозиториев с кодом
38 постов в блоге
206 файлов с кодом
14981 строк кода

Anya is live and ready to show you everything. Watch her strip, dance, and perform exclusive shows just for you. Interact in real-time and make your fantasies come true.
Free to watch • No registration required • HD streaming
Автобус 372/375
Поиски клиентов завели нас к автоколонне “Лидер”. Компания осуществляет перевозки людей из Анграска в Иркутск и наоброт. Для бронирования билетов можно воспользоваться диспетчерской, сайтом, или же приложением на andoid, которое представляет из себя веб браузер.
Для коммерческого предложения было решено сделать прототип программы, которая позволяла бы бронировать места. Вот пара свежих скришотов прототипа:
Какой вариант лучше?
Исходный код Color Rain теперь на GitHub!
После запуска игры Color Rain некоторые из наших друзей захотели увидеть исходный код игры. Мы подумали, подумали, и решили выложить код в общий доступ, вырезав часть библиотек используемых нами в разработке.
Профиль нашей компании на GitHub:
https://github.com/SiberianProgrammers
Ссылка на исходный код Color Rain:
https://github.com/SiberianProgrammers/sp_color_rain_open
Получил свидетельство ИП
Утром я подправил текст сайта. Изменил оформление постов с кодом - теперь они читаются гораздо проще. Где-то в 17:04 мне пришла SMS:
Михаил Александрович, Вы можете получить документы по заялению N1780496. Информация по 8-800-1000-447 (бесплатно). МФЦ
После этого я получил свидетельство ИП. Дома это я отпразновал пряниками. Потом составил заявку на открытие счёта в банке Тинькофф, отправил документы. Следующим шагом я подал заявку на получение номер D-U-N-S, который нужен для регистрации аккаунта разработчика Apple. И на этом день закончился.
Работа Android-приложения в фоне
Сегодня я сделал обновление для “Color Rain”. Устранил небольшие ошибки, добавил стартовый экран, режим паузы и фоновую музыку. При добавлении музыки я заметил интересную особенность.
По умолчанию, android-приложение “замораживается” при сворачивании, то есть останавливаются все таймеры, анимация, но не музыка. :) Музыка продолжает проигрываться в фоне.
Для того, чтобы приложение корректно работало в фоне, нам нужно изменить файл AndoidManifest.xml. При создании нового android приложения Qt Creator не создает AndoidManifest.xml автоматически, при этом во время сборки и установки под android он использует собственный “шаблон” AndroidManifest’a.
Создадим AndoidManifest.xml, который включает в себя “шаблон” AndroidManifest’a от Qt:
Проекты -> Добавить сборку под Andoid -> Открываем вкладку “Сборка” -> Нажимаем “Подробнее” в "Собрать Android APK” -> Нажимаем “Создать шаблоны”.
Далее нам нужно найти и заменить
<meta-data android:name="android.app.background_running" android:value="false"/>
на
<meta-data android:name="android.app.background_running" android:value="true"/>
Всё, теперь наше приложение работает в фоне.
Для остановки проигрывания музыки нам поможет следующая переменная:
property bool active: Qt.application.state !== Qt.ApplicationSuspended
При изменении значения переменной active c true на false останавливаем всю музыку.
Audio { id: music
loops: Audio.Infinite source: "qrc:/audio/rainbows.ogg" volume: 0.15 Component.onCompleted: { play(); } } onActiveChanged: { if (active) { music.play() } else { music.pause() } }

Anya is live and ready to show you everything. Watch her strip, dance, and perform exclusive shows just for you. Interact in real-time and make your fantasies come true.
Free to watch • No registration required • HD streaming
Новая игра «Color Rain»
Сегодня понедельник - день составления планов и совместной работы. В этот раз мы с Лёшей решили сделать мобильную игру за один день. Эдакий хакатон. Для начала мы составили список из 10 жанров игр, которые реально реализовать за день (т.е. не RPG, симуляторы авиации, стратегии и т.п.). Каждый начал рисовать и придумывать. В итоге совершенно независимо мы пришли к одному и тому же варианту: падающие разноцветные шарики, которые нужно ловить на платформы соответствующих цветов. )
Результат наших стараний мы можете посмотреть, скачав приложение из Google Play по ссылке: https://play.google.com/store/apps/details?id=com.sp.colorrain
Splash screen
Splash screen (экран загрузки), вроде и мелкая деталь приложения, но важная. Именно экран загрузки пользователь видит первым, когда запускает приложение. Конечно же, нам потребовалось сделать свой экран загрузки, а не стандартный белый.
Раньше, мы создавали экран загрузки средствами Qt. Создавали изображение в drawable, а потом подключали его в манифесте:
meta-data android:name="android.app.splash_screen_drawable" android:resource="@drawable/splash"/>
Но, этот подход оказался неверен. Сначала показывался черный экран, а лишь потом происходила загрузка экрана загрузки. Сделаем всё правильно.
Первым делом создадим новую Activity, которая и будет нашим экраном загрузки.
<activity android:name=".SplashActivity" android:theme="@style/SplashTheme"> <intent-filter> <action android:name="android.intent.action.MAIN"/> <category android:name="android.intent.category.LAUNCHER"/> </intent-filter> </activity>
Добавим необходимые стили
<style name="SplashTheme" parent="@style/Theme.AppCompat.NoActionBar"> <item name="android:windowBackground"> @drawable/background_splash</item> </style>
Не забываем о gradle
dependencies { compile 'com.android.support:design:23.1.1' }
И сам класс SplashActivity, в котором будет запускать нашу основную Activity.
public class SplashActivity extends AppCompatActivity {
@Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); Intent intent = new Intent(this, SpDemoActivity.class); startActivity(intent); finish(); } }
Вот и всё. Путем нехитрых манипуляций имеем нормальный экран загрузки сразу при старте приложения.
Сайт-визитка
Сегодня ночью запустил сайт компании programmist.me. Я решил использовать минималистичный дизайн, но при этом с адаптивной вёрсткой, чтобы и на компьютерах хорошо выглядил и на мобильниках. Писать с нуля я не стал и взял готовый бесплатный шаблон с айта html5up.net и переделал его под наши нужды. Теперь у нас не только блог, но и сайт-визитка. =)
Логистика или как я подавал заявление на регитрацию ИП
Весь этот день у меня ушёл на регистрицию ИП. Целый день! Везде было написано, что это сделать легко, стоит лишь идти по инструкции, но нигде не написано, что это не касается Ангарска...
Итак, первым делом я напечатал четыре бланка заявления, взятого с сайта налоговки. Удивило меня, что бланк заявления был в формате tiff, а не в pdf, как все привыкли. Но ничего, это не вызвало никаких трудностей - сконвертировал в pdf и отдал в печать. Далее осталось заполнить все квадратики печатными буквами чёрной ручкой (в чёрной квартире, чёрного дома, чёрного города...) и идти подавать заявление.
Черновые расчёты

Anya is live and ready to show you everything. Watch her strip, dance, and perform exclusive shows just for you. Interact in real-time and make your fantasies come true.
Free to watch • No registration required • HD streaming
Эффект разворачивания фотографий
Последнюю пару дней я заново писал компонент изображения с закруглёнными краями. Прошлая реализация достаточно неплохо справлялась со статичными изображениями, но заметно тормозила при некоторых видах анимации. К примеру, разворачивание фотографии в полноэкранный режим, как это сделано в Telegram’е, не получилось бы сделать.
Чтобы достичь подобной производительности я решил использовать наиболее низкоуровневое программирование Qt GraphicsScene, которая по сути представляет удобную обёртку над OpenGL без лишней нагрузки. Раньше я не сталкивался с низкоуровневым программированием на OpenGL, поэтому возникали некоторые трудности, т.к. документации не указаны подводные камни и не было, практически, ни одного примера кода, с которого можно было начать. Тем не менее, новая технология оправдала себя в производительности и гибкости разработки. Вот пример того, что получилось:
Продолжаем работу над онлайн журналом. Только что добавили отображение фотографий в полноэкранном режиме с возможностью зума. Помимо этого, добавили возможность сохранения фотографий из онлайн журнале.