diff --git a/src/client/haxe/ru/m/tankz/Client.hx b/src/client/haxe/ru/m/tankz/Client.hx index f036b2d..f6b4219 100755 --- a/src/client/haxe/ru/m/tankz/Client.hx +++ b/src/client/haxe/ru/m/tankz/Client.hx @@ -32,6 +32,9 @@ class Client { L.d(TAG, 'Debug: ${Const.DEBUG}'); L.i(TAG, 'Version: ${Const.VERSION}'); L.i(TAG, 'Build: ${Const.BUILD}'); + #if linux + LinuxIcon.apply(); + #end Style.register(); var view:ClientView = new ClientView(); Root.bind(view); diff --git a/src/client/haxe/ru/m/tankz/LinuxIcon.hx b/src/client/haxe/ru/m/tankz/LinuxIcon.hx new file mode 100644 index 0000000..5abed7a --- /dev/null +++ b/src/client/haxe/ru/m/tankz/LinuxIcon.hx @@ -0,0 +1,27 @@ +package ru.m.tankz; + +import flash.display.BitmapData; +import flash.filters.ColorMatrixFilter; +import flash.geom.Point; +import flash.Lib; +import openfl.Assets; + +class LinuxIcon { + + private static function prepareIcon(bitmap:BitmapData):BitmapData { + var matrix:Array = []; + matrix = matrix.concat([0, 0, 1, 0, 0]); + matrix = matrix.concat([0, 1, 0, 0, 0]); + matrix = matrix.concat([1, 0, 0, 0, 0]); + matrix = matrix.concat([0, 0, 0, 1, 0]); + var cmf:ColorMatrixFilter = new ColorMatrixFilter(matrix); + var bitmap:BitmapData = bitmap.clone(); + bitmap.applyFilter(bitmap, bitmap.rect, new Point(0, 0), cmf); + return bitmap; + } + + public static function apply() { + var icon = Assets.getBitmapData("resources/icon.png"); + Lib.current.stage.window.setIcon(prepareIcon(icon).image); + } +} diff --git a/src/client/resources/icon.png b/src/client/resources/icon.png index b559c9d..00aff9b 100644 Binary files a/src/client/resources/icon.png and b/src/client/resources/icon.png differ