DigDeep Posted January 24, 2017 Share Posted January 24, 2017 Hi, I wanted few moving dots either moving from left to right or as circle while installing some applications. Has anyone got anything? Link to comment Share on other sites More sharing options...
UEZ Posted January 24, 2017 Share Posted January 24, 2017 Please don't send me any personal message and ask for support! I will not reply! Selection of finest graphical examples at Codepen.io The own fart smells best! ✌Her 'sikim hıyar' diyene bir avuç tuz alıp koşma!¯\_(ツ)_/¯ ٩(●̮̮̃•̃)۶ ٩(-̮̮̃-̃)۶ૐ Link to comment Share on other sites More sharing options...
DigDeep Posted January 25, 2017 Author Share Posted January 25, 2017 Thanks @UEZ These examples look great. I like the _GDIPlus_LoadingSpinner. I saw your last explanation of adding it into the part of the script, but for some reason I am not able to see how I can add it. I already have a GUI screen and some texts running and wanted the LoadSpinner to go until the text is completed. Also, I made some minor changes for the spinning color and size. But can you help me to make the background as white instead of black so that I can just get the spinning circle? Thanks again Link to comment Share on other sites More sharing options...
UEZ Posted January 25, 2017 Share Posted January 25, 2017 Post your code and I will try to help. Please don't send me any personal message and ask for support! I will not reply! Selection of finest graphical examples at Codepen.io The own fart smells best! ✌Her 'sikim hıyar' diyene bir avuç tuz alıp koşma!¯\_(ツ)_/¯ ٩(●̮̮̃•̃)۶ ٩(-̮̮̃-̃)۶ૐ Link to comment Share on other sites More sharing options...
DigDeep Posted January 25, 2017 Author Share Posted January 25, 2017 (edited) Hi @UEZ My code is too huge. But what I wanted is to add some kind of Progress which can run with or without Progressbar until the work is completed. Something with just 4-5 dots running from left to right or as circle and your _GDIPlus_LoadingSpinner is something which looks good here. I am also adding your _GDIPlus_LoadingSpinner.au3 with few minor changes I have done to just get the think Blue circle. If the Black background can be changed to white with just the Blue circle going on would look perfect with my code. Posting 2 Test codes here. with Progress... ;~ ===>>> Download VLC $Lable1 = GUICtrlCreateLabel(@CRLF & @CRLF & 'Installing VLC Player...', 208, 112, 350, 102) GUICtrlSetFont(-1, 15, 400, 0, "Arial") $Size = GUICtrlCreateLabel("", 240, 238, 130, 17) GUICtrlSetFont(-1, 9, 400, 0, "Arial") $Percent = GUICtrlCreateLabel("", 432, 238, 100, 17) GUICtrlSetFont(-1, 9, 400, 0, "Arial") Local $Dwn = $URL ;Set URL $Sys = 'C:\Temp\vlc.exe' $Download = InetGet($Dwn, $Sys, 1, 1) $GetSize = InetGetSize($Dwn) Local $Progress = GUICtrlCreateProgress(240, 214, 294, 17) GUICtrlSetColor(-1, 32250) While Not InetGetInfo($Download, 2) ;Loop until download is finished Sleep(500) ;Sleep for half a second to avoid flicker in the progress bar $Bytes = InetGetInfo($Download, 0) ;Get bytes received $Percentage1 = Int($Bytes / $GetSize * 100) ;Calculate percentage $FullSize = $GetSize - $Bytes GUICtrlSetData($Progress, $Percentage1) GUICtrlSetData($Size, _GetDisplaySize($FullSize, $iPlaces = 2)) GUICtrlSetData($Percent, $Percentage1) WEnd GUICtrlSetState($Lable1, $GUI_HIDE) ;~ ===>>> Download VLC without progress ;~ ===>>> Install VLC $Lable2 = GUICtrlCreateLabel("Install VLC...", 208, 112, 350, 102) GUICtrlSetFont(-1, 15, 400, 0, "Arial") RunWait(@ComSpec & ' /c C:\Temp\vlc.exe', "", @SW_HIDE) ; Run MBSA Scan GUICtrlSetState($Lable2, $GUI_HIDE) ;~ ===>>> Install VLC _GDIPlus_LoadingSpinner.au3 Edited January 25, 2017 by DigDeep Link to comment Share on other sites More sharing options...
UEZ Posted January 25, 2017 Share Posted January 25, 2017 You can do something like this here: expandcollapse popup;coded by UEZ build 2014-02-08, idea taken from http://codepen.io/Fahrenheit/pen/Kbyxu ;AutoIt v3.3.9.21 or higher needed! #include <GDIPlus.au3> #include <GUIConstantsEx.au3> #include <WindowsConstants.au3> _GDIPlus_Startup() Global Const $STM_SETIMAGE = 0x0172; $IMAGE_BITMAP = 0 Global $iW = 100, $iH = 100 Global Const $hGUI = GUICreate("", 1000, 500, -1, -1, $WS_POPUP, $WS_EX_TOPMOST) Global Const $iPic = GUICtrlCreatePic("", 400, 300, $iW, $iH) GUICtrlSetState(-1, $GUI_DISABLE) ;~ ===>>> Download VLC $URL = "http://mirror5.layerjet.com/videolan/vlc/2.2.4/win32/vlc-2.2.4-win32.exe" $Lable1 = GUICtrlCreateLabel(@CRLF & @CRLF & 'Installing VLC Player...', 208, 112, 350, 102) GUICtrlSetFont(-1, 15, 400, 0, "Arial") $Size = GUICtrlCreateLabel("", 240, 238, 130, 17) GUICtrlSetFont(-1, 9, 400, 0, "Arial") $Percent = GUICtrlCreateLabel("", 432, 238, 100, 17) GUICtrlSetFont(-1, 9, 400, 0, "Arial") GUISetState() Global $hHBmp_BG, $hB, $iPerc = 0, $iSleep = 30, $s = 0, $t, $m = 0 GUIRegisterMsg($WM_TIMER, "PlayAnim") DllCall("user32.dll", "int", "SetTimer", "hwnd", $hGUI, "int", 0, "int", $iSleep, "int", 0) Local $Dwn = $URL ;Set URL $Sys = 'C:\Temp\vlc.exe' $Download = InetGet($Dwn, $Sys, 1, 1) $GetSize = InetGetSize($Dwn) Local $Progress = GUICtrlCreateProgress(240, 214, 294, 17) GUICtrlSetColor(-1, 32250) While Not InetGetInfo($Download, 2) ;Loop until download is finished Sleep(500) ;Sleep for half a second to avoid flicker in the progress bar $Bytes = InetGetInfo($Download, 0) ;Get bytes received $Percentage1 = Int($Bytes / $GetSize * 100) ;Calculate percentage $FullSize = $GetSize - $Bytes GUICtrlSetData($Progress, $Percentage1) ;~ GUICtrlSetData($Size, _GetDisplaySize($FullSize, $iPlaces = 2)) GUICtrlSetData($Percent, $Percentage1) WEnd GUICtrlSetState($Lable1, $GUI_HIDE) ;~ ===>>> Download VLC ConsoleWrite("Done." & @CRLF) GUIRegisterMsg($WM_TIMER, "") GUICtrlSetState($iPic, $GUI_HIDE) Do Switch GUIGetMsg() Case $GUI_EVENT_CLOSE GUIRegisterMsg($WM_TIMER, "") _WinAPI_DeleteObject($hHBmp_BG) _GDIPlus_Shutdown() GUIDelete() Exit EndSwitch Until False Func PlayAnim() $hHBmp_BG = _GDIPlus_MultiColorLoader($iW, $iH, "") $hB = GUICtrlSendMsg($iPic, $STM_SETIMAGE, $IMAGE_BITMAP, $hHBmp_BG) If $hB Then _WinAPI_DeleteObject($hB) _WinAPI_DeleteObject($hHBmp_BG) EndFunc ;==>PlayAnim Func _GDIPlus_MultiColorLoader($iW, $iH, $sText = "", $sFont = "Arial", $bHBitmap = True, $iBGColor = 0xFFFFFFFF) Local Const $hBitmap = _GDIPlus_BitmapCreateFromScan0($iW, $iH) Local Const $hGfx = _GDIPlus_ImageGetGraphicsContext($hBitmap) _GDIPlus_GraphicsSetSmoothingMode($hGfx, 4 + (@OSBuild > 5999)) _GDIPlus_GraphicsSetTextRenderingHint($hGfx, 3) _GDIPlus_GraphicsSetPixelOffsetMode($hGfx, $GDIP_PIXELOFFSETMODE_HIGHQUALITY) _GDIPlus_GraphicsClear($hGfx, $iBGColor) Local $iRadius = ($iW > $iH) ? $iH * 0.6 : $iW * 0.6 Local Const $hPath = _GDIPlus_PathCreate() _GDIPlus_PathAddEllipse($hPath, ($iW - ($iRadius + 24)) / 2, ($iH - ($iRadius + 24)) / 2, $iRadius + 24, $iRadius + 24) Local $hBrush = _GDIPlus_PathBrushCreateFromPath($hPath) _GDIPlus_PathBrushSetCenterColor($hBrush, 0x000000) _GDIPlus_PathBrushSetSurroundColor($hBrush, 0x08101010) _GDIPlus_PathBrushSetGammaCorrection($hBrush, True) Local $aBlend[4][2] = [[3]] $aBlend[1][0] = 0 ;0% center color $aBlend[1][1] = 0 ;position = boundary $aBlend[2][0] = 0.33 ;70% center color $aBlend[2][1] = 0.1 ;10% of distance boundary->center point $aBlend[3][0] = 1 ;100% center color $aBlend[3][1] = 1 ;center point _GDIPlus_PathBrushSetBlend($hBrush, $aBlend) Local $aRect = _GDIPlus_PathBrushGetRect($hBrush) _GDIPlus_GraphicsFillRect($hGfx, $aRect[0], $aRect[1], $aRect[2], $aRect[3], $hBrush) _GDIPlus_PathDispose($hPath) _GDIPlus_BrushDispose($hBrush) Local Const $hBrush_Black = _GDIPlus_BrushCreateSolid(0xFF161616) _GDIPlus_GraphicsFillEllipse($hGfx, ($iW - ($iRadius + 10)) / 2, ($iH - ($iRadius + 10)) / 2, $iRadius + 10, $iRadius + 10, $hBrush_Black) Local Const $hBitmap_Gradient = _GDIPlus_BitmapCreateFromScan0($iRadius, $iRadius) Local Const $hGfx_Gradient = _GDIPlus_ImageGetGraphicsContext($hBitmap_Gradient) _GDIPlus_GraphicsSetSmoothingMode($hGfx_Gradient, 4 + (@OSBuild > 5999)) Local Const $hMatrix = _GDIPlus_MatrixCreate() Local Static $r = 0 _GDIPlus_MatrixTranslate($hMatrix, $iRadius / 2, $iRadius / 2) _GDIPlus_MatrixRotate($hMatrix, $r) _GDIPlus_MatrixTranslate($hMatrix, -$iRadius / 2, -$iRadius / 2) _GDIPlus_GraphicsSetTransform($hGfx_Gradient, $hMatrix) $r += 10 Local Const $hBrush_Gradient = _GDIPlus_LineBrushCreate($iRadius, $iRadius / 2, $iRadius, $iRadius, 0xFF000000, 0xFF33CAFD, 1) _GDIPlus_LineBrushSetGammaCorrection($hBrush_Gradient) _GDIPlus_GraphicsFillEllipse($hGfx_Gradient, 0, 0, $iRadius, $iRadius, $hBrush_Gradient) _GDIPlus_GraphicsFillEllipse($hGfx_Gradient, 4, 4, $iRadius - 8, $iRadius - 8, $hBrush_Black) _GDIPlus_GraphicsDrawImageRect($hGfx, $hBitmap_Gradient, ($iW - $iRadius) / 2, ($iH - $iRadius) / 2, $iRadius, $iRadius) _GDIPlus_BrushDispose($hBrush_Gradient) _GDIPlus_BrushDispose($hBrush_Black) _GDIPlus_GraphicsDispose($hGfx_Gradient) _GDIPlus_BitmapDispose($hBitmap_Gradient) _GDIPlus_MatrixDispose($hMatrix) Local Const $hFormat = _GDIPlus_StringFormatCreate() Local Const $hFamily = _GDIPlus_FontFamilyCreate($sFont) Local Const $hFont = _GDIPlus_FontCreate($hFamily, $iRadius / 10) _GDIPlus_StringFormatSetAlign($hFormat, 1) _GDIPlus_StringFormatSetLineAlign($hFormat, 1) Local $tLayout = _GDIPlus_RectFCreate(0, 0, $iW, $iH) Local Static $iColor = 0x00, $iDir = 13 Local $hBrush_txt = _GDIPlus_BrushCreateSolid(0xFF000000 + 0x010000 * $iColor + 0x0100 * $iColor + $iColor) _GDIPlus_GraphicsDrawStringEx($hGfx, $sText, $hFont, $tLayout, $hFormat, $hBrush_txt) $iColor += $iDir If $iColor > 0xFF Then $iColor = 0xFF $iDir *= -1 ElseIf $iColor < 0x16 Then $iDir *= -1 $iColor = 0x16 EndIf _GDIPlus_BrushDispose($hBrush_txt) _GDIPlus_FontDispose($hFont) _GDIPlus_FontFamilyDispose($hFamily) _GDIPlus_StringFormatDispose($hFormat) _GDIPlus_GraphicsDispose($hGfx) If $bHBitmap Then Local $hHBITMAP = _GDIPlus_BitmapCreateHBITMAPFromBitmap($hBitmap) _GDIPlus_BitmapDispose($hBitmap) Return $hHBITMAP EndIf Return $hBitmap EndFunc Please don't send me any personal message and ask for support! I will not reply! Selection of finest graphical examples at Codepen.io The own fart smells best! ✌Her 'sikim hıyar' diyene bir avuç tuz alıp koşma!¯\_(ツ)_/¯ ٩(●̮̮̃•̃)۶ ٩(-̮̮̃-̃)۶ૐ Link to comment Share on other sites More sharing options...
DigDeep Posted January 25, 2017 Author Share Posted January 25, 2017 what if I have 4 sections in my code and I would need the rotating circle within each parts... Do I have to get all the above part before and after every section? Part 1 - Action 1 Part 2 - Action 2 Part 3 - Action 3 Part 4 - Action 4 Link to comment Share on other sites More sharing options...
UEZ Posted January 26, 2017 Share Posted January 26, 2017 Something like this here? expandcollapse popup;coded by UEZ build 2014-02-08, idea taken from http://codepen.io/Fahrenheit/pen/Kbyxu ;AutoIt v3.3.9.21 or higher needed! #include <GDIPlus.au3> #include <GUIConstantsEx.au3> #include <WindowsConstants.au3> _GDIPlus_Startup() Global Const $STM_SETIMAGE = 0x0172; $IMAGE_BITMAP = 0 Global $iW = 100, $iH = 100 Global Const $hGUI = GUICreate("", 1000, 500, -1, -1, $WS_POPUP, $WS_EX_TOPMOST) Global Const $iPic1 = GUICtrlCreatePic("", 100, 300, $iW, $iH) Global Const $iPic2 = GUICtrlCreatePic("", 400, 300, $iW, $iH) Global Const $iPic3 = GUICtrlCreatePic("", 700, 300, $iW, $iH) Global Const $iPic4 = GUICtrlCreatePic("", 400, 100, $iW, $iH) GUICtrlSetState(-1, $GUI_DISABLE) ;~ ===>>> Download VLC $URL = "http://mirror5.layerjet.com/videolan/vlc/2.2.4/win32/vlc-2.2.4-win32.exe" $Lable1 = GUICtrlCreateLabel(@CRLF & @CRLF & 'Installing VLC Player...', 208, 112, 350, 102) GUICtrlSetFont(-1, 15, 400, 0, "Arial") $Size = GUICtrlCreateLabel("", 240, 238, 130, 17) GUICtrlSetFont(-1, 9, 400, 0, "Arial") $Percent = GUICtrlCreateLabel("", 432, 238, 100, 17) GUICtrlSetFont(-1, 9, 400, 0, "Arial") GUISetState() Global $hHBmp_BG, $hB, $iPerc = 0, $iSleep = 30, $s = 0, $t, $m = 0, $iPicCtrl $iPicCtrl = $iPic1 GUIRegisterMsg($WM_TIMER, "PlayAnim") DllCall("user32.dll", "int", "SetTimer", "hwnd", $hGUI, "int", 0, "int", $iSleep, "int", 0) Local $Dwn = $URL ;Set URL $Sys = 'C:\Temp\vlc.exe' $Download = InetGet($Dwn, $Sys, 1, 1) $GetSize = InetGetSize($Dwn) Local $Progress = GUICtrlCreateProgress(240, 214, 294, 17) GUICtrlSetColor(-1, 32250) Sleep(3000) GUICtrlSetState($iPic1, $GUI_HIDE) $iPicCtrl = $iPic2 Sleep(3000) GUICtrlSetState($iPic2, $GUI_HIDE) $iPicCtrl = $iPic3 Sleep(3000) GUICtrlSetState($iPic3, $GUI_HIDE) $iPicCtrl = $iPic4 Sleep(3000) ;~ While Not InetGetInfo($Download, 2) ;Loop until download is finished ;~ Sleep(500) ;Sleep for half a second to avoid flicker in the progress bar ;~ $Bytes = InetGetInfo($Download, 0) ;Get bytes received ;~ $Percentage1 = Int($Bytes / $GetSize * 100) ;Calculate percentage ;~ $FullSize = $GetSize - $Bytes ;~ GUICtrlSetData($Progress, $Percentage1) ;~ GUICtrlSetData($Size, _GetDisplaySize($FullSize, $iPlaces = 2)) ;~ GUICtrlSetData($Percent, $Percentage1) ;~ WEnd GUICtrlSetState($iPic4, $GUI_HIDE) GUICtrlSetState($Lable1, $GUI_HIDE) ;~ ===>>> Download VLC ConsoleWrite("Done." & @CRLF) GUIRegisterMsg($WM_TIMER, "") Do Switch GUIGetMsg() Case $GUI_EVENT_CLOSE GUIRegisterMsg($WM_TIMER, "") _WinAPI_DeleteObject($hHBmp_BG) _GDIPlus_Shutdown() GUIDelete() Exit EndSwitch Until False Func PlayAnim() $hHBmp_BG = _GDIPlus_MultiColorLoader($iW, $iH, "") $hB = GUICtrlSendMsg($iPicCtrl, $STM_SETIMAGE, $IMAGE_BITMAP, $hHBmp_BG) If $hB Then _WinAPI_DeleteObject($hB) _WinAPI_DeleteObject($hHBmp_BG) EndFunc ;==>PlayAnim Func _GDIPlus_MultiColorLoader($iW, $iH, $sText = "", $sFont = "Arial", $bHBitmap = True, $iBGColor = 0xFFFFFFFF) Local Const $hBitmap = _GDIPlus_BitmapCreateFromScan0($iW, $iH) Local Const $hGfx = _GDIPlus_ImageGetGraphicsContext($hBitmap) _GDIPlus_GraphicsSetSmoothingMode($hGfx, 4 + (@OSBuild > 5999)) _GDIPlus_GraphicsSetTextRenderingHint($hGfx, 3) _GDIPlus_GraphicsSetPixelOffsetMode($hGfx, $GDIP_PIXELOFFSETMODE_HIGHQUALITY) _GDIPlus_GraphicsClear($hGfx, $iBGColor) Local $iRadius = ($iW > $iH) ? $iH * 0.6 : $iW * 0.6 Local Const $hPath = _GDIPlus_PathCreate() _GDIPlus_PathAddEllipse($hPath, ($iW - ($iRadius + 24)) / 2, ($iH - ($iRadius + 24)) / 2, $iRadius + 24, $iRadius + 24) Local $hBrush = _GDIPlus_PathBrushCreateFromPath($hPath) _GDIPlus_PathBrushSetCenterColor($hBrush, 0x000000) _GDIPlus_PathBrushSetSurroundColor($hBrush, 0x08101010) _GDIPlus_PathBrushSetGammaCorrection($hBrush, True) Local $aBlend[4][2] = [[3]] $aBlend[1][0] = 0 ;0% center color $aBlend[1][1] = 0 ;position = boundary $aBlend[2][0] = 0.33 ;70% center color $aBlend[2][1] = 0.1 ;10% of distance boundary->center point $aBlend[3][0] = 1 ;100% center color $aBlend[3][1] = 1 ;center point _GDIPlus_PathBrushSetBlend($hBrush, $aBlend) Local $aRect = _GDIPlus_PathBrushGetRect($hBrush) _GDIPlus_GraphicsFillRect($hGfx, $aRect[0], $aRect[1], $aRect[2], $aRect[3], $hBrush) _GDIPlus_PathDispose($hPath) _GDIPlus_BrushDispose($hBrush) Local Const $hBrush_Black = _GDIPlus_BrushCreateSolid(0xFF161616) _GDIPlus_GraphicsFillEllipse($hGfx, ($iW - ($iRadius + 10)) / 2, ($iH - ($iRadius + 10)) / 2, $iRadius + 10, $iRadius + 10, $hBrush_Black) Local Const $hBitmap_Gradient = _GDIPlus_BitmapCreateFromScan0($iRadius, $iRadius) Local Const $hGfx_Gradient = _GDIPlus_ImageGetGraphicsContext($hBitmap_Gradient) _GDIPlus_GraphicsSetSmoothingMode($hGfx_Gradient, 4 + (@OSBuild > 5999)) Local Const $hMatrix = _GDIPlus_MatrixCreate() Local Static $r = 0 _GDIPlus_MatrixTranslate($hMatrix, $iRadius / 2, $iRadius / 2) _GDIPlus_MatrixRotate($hMatrix, $r) _GDIPlus_MatrixTranslate($hMatrix, -$iRadius / 2, -$iRadius / 2) _GDIPlus_GraphicsSetTransform($hGfx_Gradient, $hMatrix) $r += 10 Local Const $hBrush_Gradient = _GDIPlus_LineBrushCreate($iRadius, $iRadius / 2, $iRadius, $iRadius, 0xFF000000, 0xFF33CAFD, 1) _GDIPlus_LineBrushSetGammaCorrection($hBrush_Gradient) _GDIPlus_GraphicsFillEllipse($hGfx_Gradient, 0, 0, $iRadius, $iRadius, $hBrush_Gradient) _GDIPlus_GraphicsFillEllipse($hGfx_Gradient, 4, 4, $iRadius - 8, $iRadius - 8, $hBrush_Black) _GDIPlus_GraphicsDrawImageRect($hGfx, $hBitmap_Gradient, ($iW - $iRadius) / 2, ($iH - $iRadius) / 2, $iRadius, $iRadius) _GDIPlus_BrushDispose($hBrush_Gradient) _GDIPlus_BrushDispose($hBrush_Black) _GDIPlus_GraphicsDispose($hGfx_Gradient) _GDIPlus_BitmapDispose($hBitmap_Gradient) _GDIPlus_MatrixDispose($hMatrix) Local Const $hFormat = _GDIPlus_StringFormatCreate() Local Const $hFamily = _GDIPlus_FontFamilyCreate($sFont) Local Const $hFont = _GDIPlus_FontCreate($hFamily, $iRadius / 10) _GDIPlus_StringFormatSetAlign($hFormat, 1) _GDIPlus_StringFormatSetLineAlign($hFormat, 1) Local $tLayout = _GDIPlus_RectFCreate(0, 0, $iW, $iH) Local Static $iColor = 0x00, $iDir = 13 Local $hBrush_txt = _GDIPlus_BrushCreateSolid(0xFF000000 + 0x010000 * $iColor + 0x0100 * $iColor + $iColor) _GDIPlus_GraphicsDrawStringEx($hGfx, $sText, $hFont, $tLayout, $hFormat, $hBrush_txt) $iColor += $iDir If $iColor > 0xFF Then $iColor = 0xFF $iDir *= -1 ElseIf $iColor < 0x16 Then $iDir *= -1 $iColor = 0x16 EndIf _GDIPlus_BrushDispose($hBrush_txt) _GDIPlus_FontDispose($hFont) _GDIPlus_FontFamilyDispose($hFamily) _GDIPlus_StringFormatDispose($hFormat) _GDIPlus_GraphicsDispose($hGfx) If $bHBitmap Then Local $hHBITMAP = _GDIPlus_BitmapCreateHBITMAPFromBitmap($hBitmap) _GDIPlus_BitmapDispose($hBitmap) Return $hHBITMAP EndIf Return $hBitmap EndFunc Please don't send me any personal message and ask for support! I will not reply! Selection of finest graphical examples at Codepen.io The own fart smells best! ✌Her 'sikim hıyar' diyene bir avuç tuz alıp koşma!¯\_(ツ)_/¯ ٩(●̮̮̃•̃)۶ ٩(-̮̮̃-̃)۶ૐ Link to comment Share on other sites More sharing options...
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now