├── ScreenShot └── logo.png ├── Retouch Photo2 ├── Icons │ ├── Circle.jpg │ ├── Lenna.jpg │ ├── Wheel.jpg │ ├── AppRender.png │ ├── LoadFaill.jpg │ ├── GrayAndWhite.jpg │ ├── GrayAndWhite2.jpg │ └── GrayAndWhite3.jpg ├── Assets │ ├── Fonts │ │ ├── Roboto.ttf │ │ ├── ComicNeue.ttf │ │ ├── Helvetica.ttf │ │ ├── OpenSans.ttf │ │ ├── PTSerif.ttf │ │ └── HelveticaNeue.ttf │ ├── StoreLogo.backup.png │ ├── BadgeLogo.scale-100.png │ ├── BadgeLogo.scale-125.png │ ├── BadgeLogo.scale-150.png │ ├── BadgeLogo.scale-200.png │ ├── BadgeLogo.scale-400.png │ ├── LargeTile.scale-100.png │ ├── LargeTile.scale-125.png │ ├── LargeTile.scale-150.png │ ├── LargeTile.scale-200.png │ ├── LargeTile.scale-400.png │ ├── SmallTile.scale-100.png │ ├── SmallTile.scale-125.png │ ├── SmallTile.scale-150.png │ ├── SmallTile.scale-200.png │ ├── SmallTile.scale-400.png │ ├── StoreLogo.scale-100.png │ ├── StoreLogo.scale-125.png │ ├── StoreLogo.scale-150.png │ ├── StoreLogo.scale-200.png │ ├── StoreLogo.scale-400.png │ ├── SplashScreen.scale-100.png │ ├── SplashScreen.scale-125.png │ ├── SplashScreen.scale-150.png │ ├── SplashScreen.scale-200.png │ ├── SplashScreen.scale-400.png │ ├── LockScreenLogo.scale-200.png │ ├── Square44x44Logo.scale-100.png │ ├── Square44x44Logo.scale-125.png │ ├── Square44x44Logo.scale-150.png │ ├── Square44x44Logo.scale-200.png │ ├── Square44x44Logo.scale-400.png │ ├── Wide310x150Logo.scale-100.png │ ├── Wide310x150Logo.scale-125.png │ ├── Wide310x150Logo.scale-150.png │ ├── Wide310x150Logo.scale-200.png │ ├── Wide310x150Logo.scale-400.png │ ├── Square150x150Logo.scale-100.png │ ├── Square150x150Logo.scale-125.png │ ├── Square150x150Logo.scale-150.png │ ├── Square150x150Logo.scale-200.png │ ├── Square150x150Logo.scale-400.png │ ├── Square44x44Logo.targetsize-16.png │ ├── Square44x44Logo.targetsize-24.png │ ├── Square44x44Logo.targetsize-256.png │ ├── Square44x44Logo.targetsize-32.png │ ├── Square44x44Logo.targetsize-48.png │ ├── Square44x44Logo.altform-unplated_targetsize-16.png │ ├── Square44x44Logo.altform-unplated_targetsize-256.png │ ├── Square44x44Logo.altform-unplated_targetsize-32.png │ ├── Square44x44Logo.altform-unplated_targetsize-48.png │ └── Square44x44Logo.targetsize-24_altform-unplated.png ├── FileUtils │ ├── App.photo2pk.zip │ ├── MFY.photo2pk.zip │ └── Banner.photo2pk.zip ├── Style │ └── Converter.xaml ├── Retouch Photo2.Menus │ ├── Icon.xaml │ ├── PantoneIcon.xaml.cs │ ├── PantoneIcon.xaml │ ├── ColorIcon.xaml │ └── ColorIcon.xaml.cs ├── XMLs │ ├── Projects.xml │ └── FilterOriginal.xml ├── Properties │ └── AssemblyInfo.cs └── Retouch Photo2.Adjustments │ └── InvertPage.xaml ├── Retouch Photo2.Edits ├── EditControl.xaml ├── Icon.xaml.cs └── Properties │ ├── AssemblyInfo.cs │ └── Retouch_Photo2.Edits.rd.xml ├── Retouch Photo2.Operates ├── OperateControl.xaml ├── Icon.xaml.cs ├── Icon.xaml ├── Properties │ └── AssemblyInfo.cs └── TransformIcons │ └── RotateRightIcon.xaml ├── Retouch Photo2.Brushs ├── Themes │ └── Generic.xaml ├── Extends │ └── Icons │ │ ├── ClampIcon.xaml │ │ ├── MirrorIcon.xaml │ │ └── WrapIcon.xaml ├── FillOrStroke.cs ├── FillOrStrokes │ └── Icons │ │ ├── FillIcon.xaml │ │ └── StrokeIcon.xaml ├── BrushTypes │ └── Icons │ │ ├── NoneIcon.xaml │ │ ├── ColorIcon.xaml │ │ ├── LinearGradientIcon.xaml │ │ ├── RadialGradientIcon.xaml │ │ ├── EllipticalGradientIcon.xaml │ │ └── ImageIcon.xaml ├── TransparencyTypes │ └── Icons │ │ ├── NoneIcon.xaml │ │ ├── LinearGradientIcon.xaml │ │ ├── RadialGradientIcon.xaml │ │ └── EllipticalGradientIcon.xaml ├── StopsPickers │ └── TransparencyStopsPickers.cs ├── Models │ └── BrushHandleMode.cs ├── BrushType.cs └── Properties │ ├── AssemblyInfo.cs │ └── Retouch_Photo2.Brushs.rd.xml ├── Retouch Photo2.Tools ├── Elements │ ├── NodeIcons │ │ ├── InsertIcon.xaml │ │ └── SharpIcon.xaml │ ├── ArrowTailTypes │ │ └── Icons │ │ │ ├── NoneIcon.xaml │ │ │ └── ArrowIcon.xaml │ ├── CompositeModes │ │ └── Icons │ │ │ ├── NewIcon.xaml │ │ │ ├── AddIcon.xaml │ │ │ ├── IntersectIcon.xaml │ │ │ └── SubtractIcon.xaml │ ├── PatternGridTypes │ │ └── Icons │ │ │ ├── GridIcon.xaml │ │ │ ├── VerticalIcon.xaml │ │ │ └── HorizontalIcon.xaml │ └── ConvertToCurvesIcon.xaml ├── Icons │ ├── GeometryEllipseIcon.xaml │ ├── GeometryRectangleIcon.xaml │ ├── CursorIcon.xaml │ ├── TextArtisticIcon.xaml │ ├── NodeIcon.xaml │ ├── TextFrameIcon.xaml │ ├── CropIcon.xaml │ └── ImageIcon.xaml ├── IconGeometrys │ ├── GeometryCapsuleIcon.xaml │ ├── GeometryRoundRectIcon.xaml │ ├── GeometryTriangleIcon.xaml │ ├── GeometryDiamondIcon.xaml │ ├── GeometryPentagonIcon.xaml │ ├── GeometryArrowIcon.xaml │ ├── GeometryStarIcon.xaml │ ├── GeometryPieIcon.xaml │ ├── GeometryHeartIcon.xaml │ ├── GeometryCookieIcon.xaml │ └── GeometryDountIcon.xaml ├── Icon.xaml ├── Icon.xaml.cs ├── IconPatterns │ ├── PatternGridIcon.xaml │ └── PatternDiagonalIcon.xaml ├── IClickeTool.cs ├── Properties │ └── AssemblyInfo.cs └── Models │ ├── NoneTool.cs │ └── ViewScaleConverter.cs ├── Retouch Photo2.Strokes ├── Caps │ └── Icons │ │ ├── FlatIcon.xaml │ │ ├── SquareIcon.xaml │ │ ├── TriangleIcon.xaml │ │ └── RoundIcon.xaml ├── Dashs │ └── Icons │ │ ├── SolidIcon.xaml │ │ ├── DashIcon.xaml │ │ ├── DotIcon.xaml │ │ └── DashDotIcon.xaml ├── Joins │ └── Icons │ │ ├── MiterIcon.xaml │ │ ├── MiterOrBevelIcon.xaml │ │ ├── BevelIcon.xaml │ │ └── RoundIcon.xaml ├── Icon.xaml ├── Icon.xaml.cs ├── StrokeShowControl.xaml ├── StrokeShowControl.xaml.cs └── Properties │ └── AssemblyInfo.cs ├── Retouch Photo2.Styles ├── Icon.xaml ├── Icon.xaml.cs ├── StyleCategory.cs ├── Properties │ ├── AssemblyInfo.cs │ └── Retouch_Photo2.Styles.rd.xml └── StyleShowControl.xaml ├── Retouch Photo2.Texts ├── Icon.xaml ├── Icon.xaml.cs └── Properties │ ├── AssemblyInfo.cs │ └── Retouch_Photo2.Texts.rd.xml ├── Retouch Photo2.ViewModels ├── InvalidateMode.cs ├── MenuType.cs └── Properties │ └── AssemblyInfo.cs ├── Retouch Photo2.Historys ├── Icon.xaml ├── IHistory.cs ├── HistoryBase.cs ├── Icon.xaml.cs ├── Models │ └── LayersPropertyHistory.cs └── Properties │ └── AssemblyInfo.cs ├── Retouch Photo2.Effects ├── Icons │ ├── EdgeIcon.xaml │ ├── MorphologyIcon.xaml │ ├── OuterShadowIcon.xaml │ ├── StraightenIcon.xaml │ ├── SharpenIcon.xaml │ ├── EmbossIcon.xaml │ ├── GaussianBlurIcon.xaml │ └── DirectionalBlurIcon.xaml ├── Icon.xaml.cs ├── Pages │ └── NonePage.cs ├── EffectType.cs ├── Properties │ └── AssemblyInfo.cs └── IEffectPage.cs ├── Retouch Photo2.Layers ├── Icon.xaml.cs ├── LayerControls │ ├── OverlayMode.cs │ └── BackgroundMode.cs ├── Icon.xaml ├── Clipboards │ └── Clipboard.Instance.cs ├── Models │ └── TextFrameLayer.cs └── Properties │ └── AssemblyInfo.cs ├── Retouch Photo2.Filters ├── Icon.xaml.cs ├── FilterCategory.cs ├── Icon.xaml ├── FilterShowControl.xaml └── Properties │ └── AssemblyInfo.cs ├── Retouch Photo2.Adjustment ├── Icon.xaml.cs ├── Icons │ ├── GrayIcon.xaml │ ├── InvertIcon.xaml │ ├── ExposureIcon.xaml │ ├── SaturationIcon.xaml │ ├── BrightnessIcon.xaml │ ├── ContrastIcon.xaml │ ├── VignetteIcon.xaml │ ├── TemperatureIcon.xaml │ ├── GammaTransferIcon.xaml │ ├── HueRotationIcon.xaml │ └── HighlightsAndShadowsIcon.xaml ├── AdjustmentCommand.cs ├── Icon.xaml ├── Properties │ └── AssemblyInfo.cs ├── IAdjustmentPage.cs ├── Pages │ └── GrayPage.xaml └── AdjustmentType.cs ├── Retouch Photo2.Blends ├── TagType.cs ├── Icons │ ├── DissolveIcon.xaml │ ├── HardLightIcon.xaml │ ├── ScreenIcon.xaml │ ├── ColorDodgeIcon.xaml │ ├── HardMixIcon.xaml │ ├── HueIcon.xaml │ ├── LightenIcon.xaml │ ├── PinLightIcon.xaml │ ├── VividLightIcon.xaml │ ├── ColorIcon.xaml │ ├── LinearDodgeIcon.xaml │ ├── LinearLightIcon.xaml │ ├── LighterColorIcon.xaml │ ├── LuminosityIcon.xaml │ ├── DarkerColorIcon.xaml │ ├── OverlayIcon.xaml │ ├── SubtractIcon.xaml │ ├── ColorBurnIcon.xaml │ ├── DarkenIcon.xaml │ ├── DivisionIcon.xaml │ ├── NoneIcon.xaml │ ├── ExclusionIcon.xaml │ ├── LinearBurnIcon.xaml │ ├── MultiplyIcon.xaml │ ├── SaturationIcon.xaml │ ├── DifferenceIcon.xaml │ └── SoftLightIcon.xaml ├── Properties │ ├── AssemblyInfo.cs │ └── Retouch_Photo2.Blends.rd.xml └── TagTypeExtensions.cs ├── README-ZH.md ├── Retouch Photo2.Elements ├── Toolkit │ └── Brushes │ │ └── AlphaMode.cs ├── $MainPages │ └── MainPageState.cs ├── $DrawPages │ ├── SnapIcon.xaml │ └── DrawLayoutState.cs ├── DeviceLayoutType.cs ├── $Loading │ └── LoadingState.cs ├── BackRequestedExtension.cs ├── Properties │ └── AssemblyInfo.cs └── DeviceLayout.cs ├── Retouch Photo2.Photos ├── Photocopier.cs └── Properties │ ├── AssemblyInfo.cs │ └── Retouch_Photo2.Photos.rd.xml ├── LICENSE ├── README.md └── README-EN.md /ScreenShot/logo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ysdy44/Retouch-Photo2-UWP/HEAD/ScreenShot/logo.png -------------------------------------------------------------------------------- /Retouch Photo2/Icons/Circle.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ysdy44/Retouch-Photo2-UWP/HEAD/Retouch Photo2/Icons/Circle.jpg -------------------------------------------------------------------------------- /Retouch Photo2/Icons/Lenna.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ysdy44/Retouch-Photo2-UWP/HEAD/Retouch Photo2/Icons/Lenna.jpg -------------------------------------------------------------------------------- /Retouch Photo2/Icons/Wheel.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ysdy44/Retouch-Photo2-UWP/HEAD/Retouch Photo2/Icons/Wheel.jpg -------------------------------------------------------------------------------- /Retouch Photo2/Icons/AppRender.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ysdy44/Retouch-Photo2-UWP/HEAD/Retouch Photo2/Icons/AppRender.png -------------------------------------------------------------------------------- /Retouch Photo2/Icons/LoadFaill.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ysdy44/Retouch-Photo2-UWP/HEAD/Retouch Photo2/Icons/LoadFaill.jpg -------------------------------------------------------------------------------- /Retouch Photo2/Assets/Fonts/Roboto.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ysdy44/Retouch-Photo2-UWP/HEAD/Retouch Photo2/Assets/Fonts/Roboto.ttf -------------------------------------------------------------------------------- /Retouch Photo2/Icons/GrayAndWhite.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ysdy44/Retouch-Photo2-UWP/HEAD/Retouch Photo2/Icons/GrayAndWhite.jpg -------------------------------------------------------------------------------- /Retouch Photo2/Icons/GrayAndWhite2.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ysdy44/Retouch-Photo2-UWP/HEAD/Retouch Photo2/Icons/GrayAndWhite2.jpg -------------------------------------------------------------------------------- /Retouch Photo2/Icons/GrayAndWhite3.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ysdy44/Retouch-Photo2-UWP/HEAD/Retouch Photo2/Icons/GrayAndWhite3.jpg -------------------------------------------------------------------------------- /Retouch Photo2/Assets/Fonts/ComicNeue.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ysdy44/Retouch-Photo2-UWP/HEAD/Retouch Photo2/Assets/Fonts/ComicNeue.ttf -------------------------------------------------------------------------------- /Retouch Photo2/Assets/Fonts/Helvetica.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ysdy44/Retouch-Photo2-UWP/HEAD/Retouch Photo2/Assets/Fonts/Helvetica.ttf -------------------------------------------------------------------------------- /Retouch Photo2/Assets/Fonts/OpenSans.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ysdy44/Retouch-Photo2-UWP/HEAD/Retouch Photo2/Assets/Fonts/OpenSans.ttf -------------------------------------------------------------------------------- /Retouch Photo2/Assets/Fonts/PTSerif.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ysdy44/Retouch-Photo2-UWP/HEAD/Retouch Photo2/Assets/Fonts/PTSerif.ttf -------------------------------------------------------------------------------- /Retouch Photo2/FileUtils/App.photo2pk.zip: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ysdy44/Retouch-Photo2-UWP/HEAD/Retouch Photo2/FileUtils/App.photo2pk.zip -------------------------------------------------------------------------------- /Retouch Photo2/FileUtils/MFY.photo2pk.zip: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ysdy44/Retouch-Photo2-UWP/HEAD/Retouch Photo2/FileUtils/MFY.photo2pk.zip -------------------------------------------------------------------------------- /Retouch Photo2/Assets/StoreLogo.backup.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ysdy44/Retouch-Photo2-UWP/HEAD/Retouch Photo2/Assets/StoreLogo.backup.png -------------------------------------------------------------------------------- /Retouch Photo2/Assets/BadgeLogo.scale-100.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ysdy44/Retouch-Photo2-UWP/HEAD/Retouch Photo2/Assets/BadgeLogo.scale-100.png -------------------------------------------------------------------------------- /Retouch Photo2/Assets/BadgeLogo.scale-125.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ysdy44/Retouch-Photo2-UWP/HEAD/Retouch Photo2/Assets/BadgeLogo.scale-125.png -------------------------------------------------------------------------------- /Retouch Photo2/Assets/BadgeLogo.scale-150.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ysdy44/Retouch-Photo2-UWP/HEAD/Retouch Photo2/Assets/BadgeLogo.scale-150.png -------------------------------------------------------------------------------- /Retouch Photo2/Assets/BadgeLogo.scale-200.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ysdy44/Retouch-Photo2-UWP/HEAD/Retouch Photo2/Assets/BadgeLogo.scale-200.png -------------------------------------------------------------------------------- /Retouch Photo2/Assets/BadgeLogo.scale-400.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ysdy44/Retouch-Photo2-UWP/HEAD/Retouch Photo2/Assets/BadgeLogo.scale-400.png -------------------------------------------------------------------------------- /Retouch Photo2/Assets/Fonts/HelveticaNeue.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ysdy44/Retouch-Photo2-UWP/HEAD/Retouch Photo2/Assets/Fonts/HelveticaNeue.ttf -------------------------------------------------------------------------------- /Retouch Photo2/Assets/LargeTile.scale-100.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ysdy44/Retouch-Photo2-UWP/HEAD/Retouch Photo2/Assets/LargeTile.scale-100.png -------------------------------------------------------------------------------- /Retouch Photo2/Assets/LargeTile.scale-125.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ysdy44/Retouch-Photo2-UWP/HEAD/Retouch Photo2/Assets/LargeTile.scale-125.png -------------------------------------------------------------------------------- /Retouch Photo2/Assets/LargeTile.scale-150.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ysdy44/Retouch-Photo2-UWP/HEAD/Retouch Photo2/Assets/LargeTile.scale-150.png -------------------------------------------------------------------------------- /Retouch Photo2/Assets/LargeTile.scale-200.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ysdy44/Retouch-Photo2-UWP/HEAD/Retouch Photo2/Assets/LargeTile.scale-200.png -------------------------------------------------------------------------------- /Retouch Photo2/Assets/LargeTile.scale-400.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ysdy44/Retouch-Photo2-UWP/HEAD/Retouch Photo2/Assets/LargeTile.scale-400.png -------------------------------------------------------------------------------- /Retouch Photo2/Assets/SmallTile.scale-100.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ysdy44/Retouch-Photo2-UWP/HEAD/Retouch Photo2/Assets/SmallTile.scale-100.png -------------------------------------------------------------------------------- /Retouch Photo2/Assets/SmallTile.scale-125.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ysdy44/Retouch-Photo2-UWP/HEAD/Retouch Photo2/Assets/SmallTile.scale-125.png -------------------------------------------------------------------------------- /Retouch Photo2/Assets/SmallTile.scale-150.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ysdy44/Retouch-Photo2-UWP/HEAD/Retouch Photo2/Assets/SmallTile.scale-150.png -------------------------------------------------------------------------------- /Retouch Photo2/Assets/SmallTile.scale-200.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ysdy44/Retouch-Photo2-UWP/HEAD/Retouch Photo2/Assets/SmallTile.scale-200.png -------------------------------------------------------------------------------- /Retouch Photo2/Assets/SmallTile.scale-400.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ysdy44/Retouch-Photo2-UWP/HEAD/Retouch Photo2/Assets/SmallTile.scale-400.png -------------------------------------------------------------------------------- /Retouch Photo2/Assets/StoreLogo.scale-100.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ysdy44/Retouch-Photo2-UWP/HEAD/Retouch Photo2/Assets/StoreLogo.scale-100.png -------------------------------------------------------------------------------- /Retouch Photo2/Assets/StoreLogo.scale-125.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ysdy44/Retouch-Photo2-UWP/HEAD/Retouch Photo2/Assets/StoreLogo.scale-125.png -------------------------------------------------------------------------------- /Retouch Photo2/Assets/StoreLogo.scale-150.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ysdy44/Retouch-Photo2-UWP/HEAD/Retouch Photo2/Assets/StoreLogo.scale-150.png -------------------------------------------------------------------------------- /Retouch Photo2/Assets/StoreLogo.scale-200.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ysdy44/Retouch-Photo2-UWP/HEAD/Retouch Photo2/Assets/StoreLogo.scale-200.png -------------------------------------------------------------------------------- /Retouch Photo2/Assets/StoreLogo.scale-400.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ysdy44/Retouch-Photo2-UWP/HEAD/Retouch Photo2/Assets/StoreLogo.scale-400.png -------------------------------------------------------------------------------- /Retouch Photo2/FileUtils/Banner.photo2pk.zip: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ysdy44/Retouch-Photo2-UWP/HEAD/Retouch Photo2/FileUtils/Banner.photo2pk.zip -------------------------------------------------------------------------------- /Retouch Photo2/Assets/SplashScreen.scale-100.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ysdy44/Retouch-Photo2-UWP/HEAD/Retouch Photo2/Assets/SplashScreen.scale-100.png -------------------------------------------------------------------------------- /Retouch Photo2/Assets/SplashScreen.scale-125.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ysdy44/Retouch-Photo2-UWP/HEAD/Retouch Photo2/Assets/SplashScreen.scale-125.png -------------------------------------------------------------------------------- /Retouch Photo2/Assets/SplashScreen.scale-150.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ysdy44/Retouch-Photo2-UWP/HEAD/Retouch Photo2/Assets/SplashScreen.scale-150.png -------------------------------------------------------------------------------- /Retouch Photo2/Assets/SplashScreen.scale-200.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ysdy44/Retouch-Photo2-UWP/HEAD/Retouch Photo2/Assets/SplashScreen.scale-200.png -------------------------------------------------------------------------------- /Retouch Photo2/Assets/SplashScreen.scale-400.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ysdy44/Retouch-Photo2-UWP/HEAD/Retouch Photo2/Assets/SplashScreen.scale-400.png -------------------------------------------------------------------------------- /Retouch Photo2/Assets/LockScreenLogo.scale-200.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ysdy44/Retouch-Photo2-UWP/HEAD/Retouch Photo2/Assets/LockScreenLogo.scale-200.png -------------------------------------------------------------------------------- /Retouch Photo2/Assets/Square44x44Logo.scale-100.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ysdy44/Retouch-Photo2-UWP/HEAD/Retouch Photo2/Assets/Square44x44Logo.scale-100.png -------------------------------------------------------------------------------- /Retouch Photo2/Assets/Square44x44Logo.scale-125.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ysdy44/Retouch-Photo2-UWP/HEAD/Retouch Photo2/Assets/Square44x44Logo.scale-125.png -------------------------------------------------------------------------------- /Retouch Photo2/Assets/Square44x44Logo.scale-150.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ysdy44/Retouch-Photo2-UWP/HEAD/Retouch Photo2/Assets/Square44x44Logo.scale-150.png -------------------------------------------------------------------------------- /Retouch Photo2/Assets/Square44x44Logo.scale-200.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ysdy44/Retouch-Photo2-UWP/HEAD/Retouch Photo2/Assets/Square44x44Logo.scale-200.png -------------------------------------------------------------------------------- /Retouch Photo2/Assets/Square44x44Logo.scale-400.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ysdy44/Retouch-Photo2-UWP/HEAD/Retouch Photo2/Assets/Square44x44Logo.scale-400.png -------------------------------------------------------------------------------- /Retouch Photo2/Assets/Wide310x150Logo.scale-100.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ysdy44/Retouch-Photo2-UWP/HEAD/Retouch Photo2/Assets/Wide310x150Logo.scale-100.png -------------------------------------------------------------------------------- /Retouch Photo2/Assets/Wide310x150Logo.scale-125.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ysdy44/Retouch-Photo2-UWP/HEAD/Retouch Photo2/Assets/Wide310x150Logo.scale-125.png -------------------------------------------------------------------------------- /Retouch Photo2/Assets/Wide310x150Logo.scale-150.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ysdy44/Retouch-Photo2-UWP/HEAD/Retouch Photo2/Assets/Wide310x150Logo.scale-150.png -------------------------------------------------------------------------------- /Retouch Photo2/Assets/Wide310x150Logo.scale-200.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ysdy44/Retouch-Photo2-UWP/HEAD/Retouch Photo2/Assets/Wide310x150Logo.scale-200.png -------------------------------------------------------------------------------- /Retouch Photo2/Assets/Wide310x150Logo.scale-400.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ysdy44/Retouch-Photo2-UWP/HEAD/Retouch Photo2/Assets/Wide310x150Logo.scale-400.png -------------------------------------------------------------------------------- /Retouch Photo2/Assets/Square150x150Logo.scale-100.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ysdy44/Retouch-Photo2-UWP/HEAD/Retouch Photo2/Assets/Square150x150Logo.scale-100.png -------------------------------------------------------------------------------- /Retouch Photo2/Assets/Square150x150Logo.scale-125.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ysdy44/Retouch-Photo2-UWP/HEAD/Retouch Photo2/Assets/Square150x150Logo.scale-125.png -------------------------------------------------------------------------------- /Retouch Photo2/Assets/Square150x150Logo.scale-150.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ysdy44/Retouch-Photo2-UWP/HEAD/Retouch Photo2/Assets/Square150x150Logo.scale-150.png -------------------------------------------------------------------------------- /Retouch Photo2/Assets/Square150x150Logo.scale-200.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ysdy44/Retouch-Photo2-UWP/HEAD/Retouch Photo2/Assets/Square150x150Logo.scale-200.png -------------------------------------------------------------------------------- /Retouch Photo2/Assets/Square150x150Logo.scale-400.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ysdy44/Retouch-Photo2-UWP/HEAD/Retouch Photo2/Assets/Square150x150Logo.scale-400.png -------------------------------------------------------------------------------- /Retouch Photo2/Assets/Square44x44Logo.targetsize-16.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ysdy44/Retouch-Photo2-UWP/HEAD/Retouch Photo2/Assets/Square44x44Logo.targetsize-16.png -------------------------------------------------------------------------------- /Retouch Photo2/Assets/Square44x44Logo.targetsize-24.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ysdy44/Retouch-Photo2-UWP/HEAD/Retouch Photo2/Assets/Square44x44Logo.targetsize-24.png -------------------------------------------------------------------------------- /Retouch Photo2/Assets/Square44x44Logo.targetsize-256.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ysdy44/Retouch-Photo2-UWP/HEAD/Retouch Photo2/Assets/Square44x44Logo.targetsize-256.png -------------------------------------------------------------------------------- /Retouch Photo2/Assets/Square44x44Logo.targetsize-32.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ysdy44/Retouch-Photo2-UWP/HEAD/Retouch Photo2/Assets/Square44x44Logo.targetsize-32.png -------------------------------------------------------------------------------- /Retouch Photo2/Assets/Square44x44Logo.targetsize-48.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ysdy44/Retouch-Photo2-UWP/HEAD/Retouch Photo2/Assets/Square44x44Logo.targetsize-48.png -------------------------------------------------------------------------------- /Retouch Photo2/Style/Converter.xaml: -------------------------------------------------------------------------------- 1 | 4 | 5 | 6 | 7 | -------------------------------------------------------------------------------- /Retouch Photo2/Assets/Square44x44Logo.altform-unplated_targetsize-16.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ysdy44/Retouch-Photo2-UWP/HEAD/Retouch Photo2/Assets/Square44x44Logo.altform-unplated_targetsize-16.png -------------------------------------------------------------------------------- /Retouch Photo2/Assets/Square44x44Logo.altform-unplated_targetsize-256.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ysdy44/Retouch-Photo2-UWP/HEAD/Retouch Photo2/Assets/Square44x44Logo.altform-unplated_targetsize-256.png -------------------------------------------------------------------------------- /Retouch Photo2/Assets/Square44x44Logo.altform-unplated_targetsize-32.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ysdy44/Retouch-Photo2-UWP/HEAD/Retouch Photo2/Assets/Square44x44Logo.altform-unplated_targetsize-32.png -------------------------------------------------------------------------------- /Retouch Photo2/Assets/Square44x44Logo.altform-unplated_targetsize-48.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ysdy44/Retouch-Photo2-UWP/HEAD/Retouch Photo2/Assets/Square44x44Logo.altform-unplated_targetsize-48.png -------------------------------------------------------------------------------- /Retouch Photo2/Assets/Square44x44Logo.targetsize-24_altform-unplated.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ysdy44/Retouch-Photo2-UWP/HEAD/Retouch Photo2/Assets/Square44x44Logo.targetsize-24_altform-unplated.png -------------------------------------------------------------------------------- /Retouch Photo2.Edits/EditControl.xaml: -------------------------------------------------------------------------------- 1 | 5 | 6 | 7 | -------------------------------------------------------------------------------- /Retouch Photo2.Operates/OperateControl.xaml: -------------------------------------------------------------------------------- 1 | 5 | 6 | 7 | -------------------------------------------------------------------------------- /Retouch Photo2.Brushs/Themes/Generic.xaml: -------------------------------------------------------------------------------- 1 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | -------------------------------------------------------------------------------- /Retouch Photo2.Brushs/Extends/Icons/ClampIcon.xaml: -------------------------------------------------------------------------------- 1 | 4 | 5 | 6 | 7 | 8 | 9 | -------------------------------------------------------------------------------- /Retouch Photo2.Brushs/Extends/Icons/MirrorIcon.xaml: -------------------------------------------------------------------------------- 1 | 4 | 5 | 6 | 7 | 8 | 9 | -------------------------------------------------------------------------------- /Retouch Photo2.Brushs/Extends/Icons/WrapIcon.xaml: -------------------------------------------------------------------------------- 1 | 4 | 5 | 6 | 7 | 8 | 9 | -------------------------------------------------------------------------------- /Retouch Photo2.Tools/Elements/NodeIcons/InsertIcon.xaml: -------------------------------------------------------------------------------- 1 | 4 | 5 | 6 | 7 | 8 | 9 | -------------------------------------------------------------------------------- /Retouch Photo2.Tools/Elements/ArrowTailTypes/Icons/NoneIcon.xaml: -------------------------------------------------------------------------------- 1 | 4 | 5 | 6 | 7 | 8 | 9 | -------------------------------------------------------------------------------- /Retouch Photo2.Tools/Elements/CompositeModes/Icons/NewIcon.xaml: -------------------------------------------------------------------------------- 1 | 4 | 5 | 6 | 7 | 8 | 9 | -------------------------------------------------------------------------------- /Retouch Photo2/Retouch Photo2.Menus/Icon.xaml: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /Retouch Photo2.Brushs/FillOrStroke.cs: -------------------------------------------------------------------------------- 1 | // Core: 2 | // Referenced: ★★★ 3 | // Difficult: 4 | // Only: 5 | // Complete: 6 | namespace Retouch_Photo2.Brushs 7 | { 8 | /// 9 | /// Fill or Stroke. 10 | /// 11 | public enum FillOrStroke 12 | { 13 | /// Fill. 14 | Fill, 15 | /// Stroke. 16 | Stroke 17 | } 18 | } -------------------------------------------------------------------------------- /Retouch Photo2.Tools/Elements/PatternGridTypes/Icons/GridIcon.xaml: -------------------------------------------------------------------------------- 1 | 4 | 5 | 6 | 7 | 8 | 9 | -------------------------------------------------------------------------------- /Retouch Photo2.Tools/Icons/GeometryEllipseIcon.xaml: -------------------------------------------------------------------------------- 1 | 4 | 5 | 6 | 7 | 8 | 9 | -------------------------------------------------------------------------------- /Retouch Photo2.Brushs/FillOrStrokes/Icons/FillIcon.xaml: -------------------------------------------------------------------------------- 1 | 5 | 6 | 7 | 8 | 9 | 10 | -------------------------------------------------------------------------------- /Retouch Photo2.Brushs/FillOrStrokes/Icons/StrokeIcon.xaml: -------------------------------------------------------------------------------- 1 | 5 | 6 | 7 | 8 | 9 | 10 | -------------------------------------------------------------------------------- /Retouch Photo2/XMLs/Projects.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 1024 6 | 1024 7 | 8 | 9 | 10 | 1920 11 | 1080 12 | 13 | 14 | 15 | 1080 16 | 1920 17 | 18 | 19 | 20 | 794 21 | 1123 22 | 23 | 24 | -------------------------------------------------------------------------------- /Retouch Photo2.Edits/Icon.xaml.cs: -------------------------------------------------------------------------------- 1 | using Windows.UI.Xaml.Controls; 2 | 3 | namespace Retouch_Photo2.Edits 4 | { 5 | /// 6 | /// Icon of . 7 | /// 8 | public sealed partial class Icon : UserControl 9 | { 10 | //@Construct 11 | /// 12 | /// Initializes a Icon. 13 | /// 14 | public Icon() 15 | { 16 | this.InitializeComponent(); 17 | } 18 | } 19 | } -------------------------------------------------------------------------------- /Retouch Photo2.Tools/Icons/GeometryRectangleIcon.xaml: -------------------------------------------------------------------------------- 1 | 4 | 5 | 6 | 7 | 8 | 9 | -------------------------------------------------------------------------------- /Retouch Photo2.Tools/IconGeometrys/GeometryCapsuleIcon.xaml: -------------------------------------------------------------------------------- 1 | 4 | 5 | 6 | 7 | 8 | 9 | -------------------------------------------------------------------------------- /Retouch Photo2.Strokes/Caps/Icons/FlatIcon.xaml: -------------------------------------------------------------------------------- 1 | 4 | 5 | 6 | 7 | 8 | M0,0L20,0L20,10L0,10L0,0 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /Retouch Photo2.Tools/IconGeometrys/GeometryRoundRectIcon.xaml: -------------------------------------------------------------------------------- 1 | 4 | 5 | 6 | 7 | 8 | 9 | -------------------------------------------------------------------------------- /Retouch Photo2.Strokes/Caps/Icons/SquareIcon.xaml: -------------------------------------------------------------------------------- 1 | 4 | 5 | 6 | 7 | 8 | M0,0L30,0L30,10L0,10L0,0 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /Retouch Photo2.Strokes/Caps/Icons/TriangleIcon.xaml: -------------------------------------------------------------------------------- 1 | 4 | 5 | 6 | 7 | 8 | M5,0L25,0L30,5L25,10L5,10L0,5L5,0Z 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /Retouch Photo2.Strokes/Dashs/Icons/SolidIcon.xaml: -------------------------------------------------------------------------------- 1 | 4 | 5 | 6 | 7 | 8 | M2.141,0L0,2.128L21.082,23.338L23.223,21.21L2.141,0Z 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /Retouch Photo2.Tools/Icons/CursorIcon.xaml: -------------------------------------------------------------------------------- 1 | 4 | 5 | 6 | 7 | 8 | 0,0 0,23 6,16 16,15 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /Retouch Photo2.Tools/Icon.xaml: -------------------------------------------------------------------------------- 1 | 11 | 12 | 13 | 14 | -------------------------------------------------------------------------------- /Retouch Photo2.Brushs/BrushTypes/Icons/NoneIcon.xaml: -------------------------------------------------------------------------------- 1 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /Retouch Photo2/Retouch Photo2.Menus/PantoneIcon.xaml.cs: -------------------------------------------------------------------------------- 1 | // Core: 2 | // Referenced: ★ 3 | // Difficult: 4 | // Only: 5 | // Complete: 6 | using Windows.UI.Xaml.Controls; 7 | 8 | namespace Retouch_Photo2.Menus 9 | { 10 | public sealed partial class PantoneIcon : UserControl 11 | { 12 | //@Construct 13 | /// 14 | /// Initializes a PantoneIcon. 15 | /// 16 | public PantoneIcon() 17 | { 18 | this.InitializeComponent(); 19 | } 20 | } 21 | } -------------------------------------------------------------------------------- /Retouch Photo2.Brushs/BrushTypes/Icons/ColorIcon.xaml: -------------------------------------------------------------------------------- 1 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /Retouch Photo2.Strokes/Joins/Icons/MiterIcon.xaml: -------------------------------------------------------------------------------- 1 | 4 | 5 | 6 | 7 | 8 | M12.753,-0.01L25.3,27L-0.04,13.672L1.63,9.714L16.436,17.686L9.081,1.981L12.753,-0.01Z 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /Retouch Photo2.Strokes/Icon.xaml: -------------------------------------------------------------------------------- 1 | 11 | 12 | 13 | 14 | -------------------------------------------------------------------------------- /Retouch Photo2.Styles/Icon.xaml: -------------------------------------------------------------------------------- 1 | 11 | 12 | 13 | 14 | -------------------------------------------------------------------------------- /Retouch Photo2.Texts/Icon.xaml: -------------------------------------------------------------------------------- 1 | 11 | 12 | 13 | 14 | -------------------------------------------------------------------------------- /Retouch Photo2.Tools/Icons/TextArtisticIcon.xaml: -------------------------------------------------------------------------------- 1 | 4 | 5 | 6 | 7 | 8 | 0,6 0,2 16,2 16,6 10,6 10,21 6,21 6,6 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /Retouch Photo2.Strokes/Caps/Icons/RoundIcon.xaml: -------------------------------------------------------------------------------- 1 | 4 | 5 | 6 | 7 | 8 | M30,5C30,2.24 27.76,0 25,0L5,0C2.24,0 0,2.24 0,5C0,7.76 2.24,10 5,10L25,10C27.76,10 30,7.76 30,5Z 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /Retouch Photo2.ViewModels/InvalidateMode.cs: -------------------------------------------------------------------------------- 1 | // Core: ★★★★ 2 | // Referenced: ★★★★ 3 | // Difficult: 4 | // Only: ★★★ 5 | // Complete: 6 | namespace Retouch_Photo2.ViewModels 7 | { 8 | /// 9 | /// Mode of the . 10 | /// 11 | public enum InvalidateMode 12 | { 13 | /// Normal 14 | None, 15 | /// Thumbnail 16 | Thumbnail, 17 | /// High-definition 18 | HD, 19 | } 20 | } -------------------------------------------------------------------------------- /Retouch Photo2.Historys/Icon.xaml: -------------------------------------------------------------------------------- 1 | 11 | 12 | 13 | 14 | 15 | -------------------------------------------------------------------------------- /Retouch Photo2.Strokes/Joins/Icons/MiterOrBevelIcon.xaml: -------------------------------------------------------------------------------- 1 | 4 | 5 | 6 | 7 | 8 | M12.753,-0.01L25.3,27L-0.04,13.672L1.63,9.714L16.436,17.686L9.081,1.981L12.753,-0.01Z 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /Retouch Photo2/Retouch Photo2.Menus/PantoneIcon.xaml: -------------------------------------------------------------------------------- 1 | 11 | 12 | 13 | P 14 | 15 | 16 | -------------------------------------------------------------------------------- /Retouch Photo2.Historys/IHistory.cs: -------------------------------------------------------------------------------- 1 | // Core: 2 | // Referenced: ★★★ 3 | // Difficult: 4 | // Only: 5 | // Complete: 6 | using System; 7 | 8 | namespace Retouch_Photo2.Historys 9 | { 10 | /// 11 | /// Represents a history that contains a ( undo $ redo) method. 12 | /// 13 | public interface IHistory: IDisposable 14 | { 15 | /// Gets or sets the type. 16 | HistoryType Type { get; set; } 17 | 18 | /// Undo method. 19 | void Undo(); 20 | } 21 | } -------------------------------------------------------------------------------- /Retouch Photo2.Strokes/Joins/Icons/BevelIcon.xaml: -------------------------------------------------------------------------------- 1 | 4 | 5 | 6 | 7 | 8 | M12.753,-0.01L22.847,21.72L20.368,24.406L-0.04,13.672L1.63,9.714L16.436,17.686L9.081,1.981L12.753,-0.01Z 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /Retouch Photo2.Tools/Icons/NodeIcon.xaml: -------------------------------------------------------------------------------- 1 | 4 | 5 | 6 | 7 | 8 | 0,24 12,2 14,12 23,16 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /Retouch Photo2.Historys/HistoryBase.cs: -------------------------------------------------------------------------------- 1 | // Core: ★★★★ 2 | // Referenced: ★★★★ 3 | // Difficult: 4 | // Only: 5 | // Complete: 6 | namespace Retouch_Photo2.Historys 7 | { 8 | /// 9 | /// Represents a history that contains a ( undo $ redo) method. 10 | /// 11 | public abstract partial class HistoryBase 12 | { 13 | /// Gets or sets the type. 14 | public HistoryType Type { get; set; } 15 | 16 | /// Undo method. 17 | public abstract void Undo(); 18 | } 19 | } -------------------------------------------------------------------------------- /Retouch Photo2.Effects/Icons/EdgeIcon.xaml: -------------------------------------------------------------------------------- 1 | 4 | 5 | 6 | 7 | 8 | M19.992,0l0,14.193l-19.992,0l0,-14.193l19.992,0Zm-1.715,1.71l-16.562,0l0,10.774l16.562,0l0,-10.774Z 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /Retouch Photo2.Tools/Elements/ArrowTailTypes/Icons/ArrowIcon.xaml: -------------------------------------------------------------------------------- 1 | 4 | 5 | 6 | 7 | 8 | M0,11.054l0,-7.369l9.507,0l0,-3.685l13.355,7.369l-13.355,7.37l0,-3.685l-9.507,0Z 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /Retouch Photo2.Tools/IconGeometrys/GeometryTriangleIcon.xaml: -------------------------------------------------------------------------------- 1 | 4 | 5 | 6 | 7 | 8 | 10,0 0,20 20,20 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /Retouch Photo2.Texts/Icon.xaml.cs: -------------------------------------------------------------------------------- 1 | // Core: 2 | // Referenced: ★★★ 3 | // Difficult: 4 | // Only: 5 | // Complete: 6 | using Windows.UI.Xaml.Controls; 7 | 8 | namespace Retouch_Photo2.Texts 9 | { 10 | /// 11 | /// Icon of . 12 | /// 13 | public sealed partial class Icon : UserControl 14 | { 15 | //@Construct 16 | /// 17 | /// Initializes a Icon. 18 | /// 19 | public Icon() 20 | { 21 | this.InitializeComponent(); 22 | } 23 | } 24 | } -------------------------------------------------------------------------------- /Retouch Photo2.Tools/Icon.xaml.cs: -------------------------------------------------------------------------------- 1 | // Core: 2 | // Referenced: ★★★ 3 | // Difficult: 4 | // Only: 5 | // Complete: 6 | using Windows.UI.Xaml.Controls; 7 | 8 | namespace Retouch_Photo2.Tools 9 | { 10 | /// 11 | /// Icon of . 12 | /// 13 | public sealed partial class Icon : UserControl 14 | { 15 | //@Construct 16 | /// 17 | /// Initializes a Icon. 18 | /// 19 | public Icon() 20 | { 21 | this.InitializeComponent(); 22 | } 23 | } 24 | } -------------------------------------------------------------------------------- /Retouch Photo2.Effects/Icons/MorphologyIcon.xaml: -------------------------------------------------------------------------------- 1 | 4 | 5 | 6 | 7 | 8 | M26.681,10.788L26.681,18.943L13.341,18.943L13.341,10.788L26.681,10.788ZM13.341,0L13.341,8.155L0,8.155L0,0L13.341,0Z 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /Retouch Photo2.Layers/Icon.xaml.cs: -------------------------------------------------------------------------------- 1 | // Core: 2 | // Referenced: ★★★ 3 | // Difficult: 4 | // Only: 5 | // Complete: 6 | using Windows.UI.Xaml.Controls; 7 | 8 | namespace Retouch_Photo2.Layers 9 | { 10 | /// 11 | /// Icon of . 12 | /// 13 | public sealed partial class Icon : UserControl 14 | { 15 | //@Construct 16 | /// 17 | /// Initializes a Icon. 18 | /// 19 | public Icon() 20 | { 21 | this.InitializeComponent(); 22 | } 23 | } 24 | } -------------------------------------------------------------------------------- /Retouch Photo2.Styles/Icon.xaml.cs: -------------------------------------------------------------------------------- 1 | // Core: 2 | // Referenced: ★★★ 3 | // Difficult: 4 | // Only: 5 | // Complete: 6 | using Windows.UI.Xaml.Controls; 7 | 8 | namespace Retouch_Photo2.Styles 9 | { 10 | /// 11 | /// Icon of . 12 | /// 13 | public sealed partial class Icon : UserControl 14 | { 15 | //@Construct 16 | /// 17 | /// Initializes a Icon. 18 | /// 19 | public Icon() 20 | { 21 | this.InitializeComponent(); 22 | } 23 | } 24 | } -------------------------------------------------------------------------------- /Retouch Photo2.Tools/IconGeometrys/GeometryDiamondIcon.xaml: -------------------------------------------------------------------------------- 1 | 4 | 5 | 6 | 7 | 8 | 12,0 24,12 12,24 0,12 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /Retouch Photo2.Tools/IconGeometrys/GeometryPentagonIcon.xaml: -------------------------------------------------------------------------------- 1 | 4 | 5 | 6 | 7 | 8 | 10,0 20,9 16,20 4,20 0,9 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /Retouch Photo2.Brushs/TransparencyTypes/Icons/NoneIcon.xaml: -------------------------------------------------------------------------------- 1 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | -------------------------------------------------------------------------------- /Retouch Photo2.Effects/Icon.xaml.cs: -------------------------------------------------------------------------------- 1 | // Core: 2 | // Referenced: ★★★ 3 | // Difficult: 4 | // Only: 5 | // Complete: 6 | using Windows.UI.Xaml.Controls; 7 | 8 | namespace Retouch_Photo2.Effects 9 | { 10 | /// 11 | /// Icon of . 12 | /// 13 | public sealed partial class Icon : UserControl 14 | { 15 | //@Construct 16 | /// 17 | /// Initializes a Icon. 18 | /// 19 | public Icon() 20 | { 21 | this.InitializeComponent(); 22 | } 23 | } 24 | } -------------------------------------------------------------------------------- /Retouch Photo2.Filters/Icon.xaml.cs: -------------------------------------------------------------------------------- 1 | // Core: 2 | // Referenced: ★★★ 3 | // Difficult: 4 | // Only: 5 | // Complete: 6 | using Windows.UI.Xaml.Controls; 7 | 8 | namespace Retouch_Photo2.Filters 9 | { 10 | /// 11 | /// Icon of . 12 | /// 13 | public sealed partial class Icon : UserControl 14 | { 15 | //@Construct 16 | /// 17 | /// Initializes a Icon. 18 | /// 19 | public Icon() 20 | { 21 | this.InitializeComponent(); 22 | } 23 | } 24 | } -------------------------------------------------------------------------------- /Retouch Photo2.Historys/Icon.xaml.cs: -------------------------------------------------------------------------------- 1 | // Core: 2 | // Referenced: ★★★ 3 | // Difficult: 4 | // Only: 5 | // Complete: 6 | using Windows.UI.Xaml.Controls; 7 | 8 | namespace Retouch_Photo2.Historys 9 | { 10 | /// 11 | /// Icon of . 12 | /// 13 | public sealed partial class Icon : UserControl 14 | { 15 | //@Construct 16 | /// 17 | /// Initializes a Icon. 18 | /// 19 | public Icon() 20 | { 21 | this.InitializeComponent(); 22 | } 23 | } 24 | } -------------------------------------------------------------------------------- /Retouch Photo2.Operates/Icon.xaml.cs: -------------------------------------------------------------------------------- 1 | // Core: 2 | // Referenced: ★★★ 3 | // Difficult: 4 | // Only: 5 | // Complete: 6 | using Windows.UI.Xaml.Controls; 7 | 8 | namespace Retouch_Photo2.Operates 9 | { 10 | /// 11 | /// Icon of . 12 | /// 13 | public sealed partial class Icon : UserControl 14 | { 15 | //@Construct 16 | /// 17 | /// Initializes a Icon. 18 | /// 19 | public Icon() 20 | { 21 | this.InitializeComponent(); 22 | } 23 | } 24 | } -------------------------------------------------------------------------------- /Retouch Photo2.Strokes/Icon.xaml.cs: -------------------------------------------------------------------------------- 1 | // Core: 2 | // Referenced: ★★★ 3 | // Difficult: 4 | // Only: 5 | // Complete: 6 | using Windows.UI.Xaml.Controls; 7 | 8 | namespace Retouch_Photo2.Strokes 9 | { 10 | /// 11 | /// Icon of . 12 | /// 13 | public sealed partial class Icon : UserControl 14 | { 15 | //@Construct 16 | /// 17 | /// Initializes a Icon. 18 | /// 19 | public Icon() 20 | { 21 | this.InitializeComponent(); 22 | } 23 | } 24 | } -------------------------------------------------------------------------------- /Retouch Photo2.Tools/IconGeometrys/GeometryArrowIcon.xaml: -------------------------------------------------------------------------------- 1 | 4 | 5 | 6 | 7 | 8 | 4,5 26,5 26,2 34,7.5 26,13 26,10 4,10 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /Retouch Photo2/Retouch Photo2.Menus/ColorIcon.xaml: -------------------------------------------------------------------------------- 1 | 12 | 13 | 14 | 15 | -------------------------------------------------------------------------------- /Retouch Photo2.Adjustment/Icon.xaml.cs: -------------------------------------------------------------------------------- 1 | // Core: 2 | // Referenced: ★★★ 3 | // Difficult: 4 | // Only: 5 | // Complete: 6 | using Windows.UI.Xaml.Controls; 7 | 8 | namespace Retouch_Photo2.Adjustments 9 | { 10 | /// 11 | /// Icon of . 12 | /// 13 | public sealed partial class Icon : UserControl 14 | { 15 | //@Construct 16 | /// 17 | /// Initializes a Icon. 18 | /// 19 | public Icon() 20 | { 21 | this.InitializeComponent(); 22 | } 23 | } 24 | } -------------------------------------------------------------------------------- /Retouch Photo2.Strokes/Joins/Icons/RoundIcon.xaml: -------------------------------------------------------------------------------- 1 | 4 | 5 | 6 | 7 | 8 | M12.753,-0.01L22.737,21.482C23.108,22.281 22.928,23.229 22.289,23.837C21.651,24.445 20.695,24.578 19.915,24.167L-0.04,13.672L1.63,9.714L16.436,17.686L9.081,1.981L12.753,-0.01Z 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /Retouch Photo2.Tools/IconGeometrys/GeometryStarIcon.xaml: -------------------------------------------------------------------------------- 1 | 4 | 5 | 6 | 7 | 8 | 12,0 14.9,9 24,9 16.6,14.8 19.6,24 12,18.2 4.7,24 7.4,14.7 0,9 9,9 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /Retouch Photo2.Effects/Icons/OuterShadowIcon.xaml: -------------------------------------------------------------------------------- 1 | 4 | 5 | 6 | 7 | 8 | M0,0l19.987,0l0,2.453l3.095,0l0,13.492l-19.988,0l0,-2.453l-3.094,0l0,-13.492Zm21.482,4.051l-1.495,0l0,9.441l-15.293,0l0,1.07l16.788,0l0,-10.511Z 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /Retouch Photo2.Strokes/Dashs/Icons/DashIcon.xaml: -------------------------------------------------------------------------------- 1 | 4 | 5 | 6 | 7 | 8 | M16.997,15.048L14.858,17.175L21.164,23.519L23.303,21.393L16.997,15.048ZM8.964,6.967L6.825,9.093L13.061,15.367L15.2,13.24L8.964,6.967ZM2.04,0L-0.099,2.126L4.939,7.195L7.078,5.069L2.04,0Z 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /Retouch Photo2.ViewModels/MenuType.cs: -------------------------------------------------------------------------------- 1 | // Core: ★★★★★ 2 | // Referenced: ★★★★★ 3 | // Difficult: ★ 4 | // Only: ★★★★★ 5 | // Complete: ★ 6 | namespace Retouch_Photo2.ViewModels 7 | { 8 | /// 9 | /// Type of Menu. 10 | /// 11 | public enum MenuType 12 | { 13 | None, 14 | 15 | Edit, 16 | Operate, 17 | 18 | Adjustment, 19 | Effect, 20 | 21 | Text, 22 | Stroke, 23 | 24 | Style, 25 | Filter, 26 | 27 | History, 28 | Transformer, 29 | 30 | Layer, 31 | 32 | //Pantone, 33 | Color, 34 | } 35 | } -------------------------------------------------------------------------------- /Retouch Photo2.Layers/LayerControls/OverlayMode.cs: -------------------------------------------------------------------------------- 1 | // Core: 2 | // Referenced: 3 | // Difficult: 4 | // Only: 5 | // Complete: 6 | namespace Retouch_Photo2.Layers 7 | { 8 | /// 9 | /// Overlay mode of . 10 | /// 11 | public enum OverlayMode 12 | { 13 | /// Normal. 14 | None, 15 | 16 | /// Overlay in the top. 17 | Top, 18 | /// Overlay in the center. 19 | Center, 20 | /// Overlay in the bottom. 21 | Bottom, 22 | } 23 | } -------------------------------------------------------------------------------- /Retouch Photo2.Strokes/Dashs/Icons/DotIcon.xaml: -------------------------------------------------------------------------------- 1 | 4 | 5 | 6 | 7 | 8 | M20.119,18.101L17.98,20.227L20.271,22.532L22.41,20.405L20.119,18.101ZM12.022,9.954L9.882,12.08L12.168,14.379L14.307,12.253L12.022,9.954ZM3.92,1.803L1.781,3.929L4.046,6.208L6.185,4.081L3.92,1.803Z 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /Retouch Photo2.Tools/IconPatterns/PatternGridIcon.xaml: -------------------------------------------------------------------------------- 1 | 2 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | -------------------------------------------------------------------------------- /Retouch Photo2/Retouch Photo2.Menus/ColorIcon.xaml.cs: -------------------------------------------------------------------------------- 1 | // Core: 2 | // Referenced: ★ 3 | // Difficult: 4 | // Only: 5 | // Complete: 6 | using Retouch_Photo2.ViewModels; 7 | using Windows.UI.Xaml.Controls; 8 | 9 | namespace Retouch_Photo2.Menus 10 | { 11 | public sealed partial class ColorIcon : UserControl 12 | { 13 | //@ViewModel 14 | ViewModel SelectionViewModel => App.SelectionViewModel; 15 | 16 | //@Construct 17 | /// 18 | /// Initializes a ColorIcon. 19 | /// 20 | public ColorIcon() 21 | { 22 | this.InitializeComponent(); 23 | } 24 | } 25 | } -------------------------------------------------------------------------------- /Retouch Photo2.Layers/LayerControls/BackgroundMode.cs: -------------------------------------------------------------------------------- 1 | // Core: 2 | // Referenced: 3 | // Difficult: 4 | // Only: 5 | // Complete: 6 | namespace Retouch_Photo2.Layers 7 | { 8 | /// 9 | /// Background mode of . 10 | /// 11 | public enum BackgroundMode 12 | { 13 | /// Not selected. 14 | UnSelected, 15 | /// Selected. 16 | Selected, 17 | 18 | /// Parents were selected. 19 | ParentsSelected, 20 | /// Child is selected. 21 | ChildSelected, 22 | 23 | } 24 | } -------------------------------------------------------------------------------- /Retouch Photo2.Tools/Icons/TextFrameIcon.xaml: -------------------------------------------------------------------------------- 1 | 4 | 5 | 6 | 7 | 8 | 9 | 0,6 0,3 12,3 12,6 7.5,6 7.5,18 4.5,18 4.5,6 10 | 11 | 12 | 13 | 14 | 15 | -------------------------------------------------------------------------------- /Retouch Photo2.Effects/Icons/StraightenIcon.xaml: -------------------------------------------------------------------------------- 1 | 4 | 5 | 6 | 7 | 8 | M19.992,14.193l-14.897,0l14.897,-14.093l0,14.093Zm-19.992,-14.193l14.896,0l-14.896,14.094l0,-14.094Zm18.289,12.49l0,-8.303l-9.107,8.303l9.107,0Zm-16.586,-10.787l9.106,0l-9.106,8.304l0,-8.304Z 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /Retouch Photo2.Tools/IconGeometrys/GeometryPieIcon.xaml: -------------------------------------------------------------------------------- 1 | 4 | 5 | 6 | 7 | 8 | M11.072,22.144c-6.115,0 -11.072,-4.957 -11.072,-11.072c0,-6.111 4.961,-11.072 11.072,-11.072c6.115,0 11.072,4.957 11.072,11.072l-11.072,0l0,11.072Z 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /Retouch Photo2.Effects/Icons/SharpenIcon.xaml: -------------------------------------------------------------------------------- 1 | 4 | 5 | 6 | 7 | 8 | M12.645,3.938l9.384,0l0,14.588l-22.029,0l0,-14.588l9.384,0l1.631,-3.938l1.63,3.938Zm0.555,1.342l3.658,8.837l-11.686,0l3.657,-8.836l-7.378,0.029l0,11.748l19.154,0l0,-11.748l-7.405,-0.03Zm1.855,7.574l-4.04,-9.762l-4.041,9.762l8.081,0Z 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /Retouch Photo2.Effects/Pages/NonePage.cs: -------------------------------------------------------------------------------- 1 | // Core: ★★★ 2 | // Referenced: ★★★ 3 | // Difficult: 4 | // Only: ★★★★ 5 | // Complete: 6 | using Windows.UI.Xaml; 7 | using Windows.UI.Xaml.Controls; 8 | 9 | namespace Retouch_Photo2.Effects.Pages 10 | { 11 | public class NonePage : IEffectPage 12 | { 13 | //@Content 14 | public EffectType Type => EffectType.None; 15 | public ControlTemplate Icon { get; set; } 16 | public FrameworkElement Self => null; 17 | 18 | 19 | public bool FollowButton(Effect effect) => false; 20 | public void FollowPage(Effect effect) { } 21 | public void Reset() { } 22 | public void Switch(bool isOn) { } 23 | } 24 | } 25 | -------------------------------------------------------------------------------- /Retouch Photo2.Strokes/Dashs/Icons/DashDotIcon.xaml: -------------------------------------------------------------------------------- 1 | 4 | 5 | 6 | 7 | 8 | M19.552,17.618L17.413,19.745L19.733,22.079L21.872,19.953L19.552,17.618ZM13.537,11.567L11.397,13.693L13.654,15.964L15.794,13.837L13.537,11.567ZM7.622,5.616L5.483,7.742L9.433,11.717L11.572,9.59L7.622,5.616ZM3.471,1.44L1.332,3.566L3.596,5.844L5.736,3.718L3.471,1.44Z 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /Retouch Photo2.Adjustment/Icons/GrayIcon.xaml: -------------------------------------------------------------------------------- 1 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | -------------------------------------------------------------------------------- /Retouch Photo2.Blends/TagType.cs: -------------------------------------------------------------------------------- 1 | // Core: 2 | // Referenced: ★★★ 3 | // Difficult: 4 | // Only: 5 | // Complete: 6 | namespace Retouch_Photo2.Blends 7 | { 8 | /// 9 | /// Type of tag. 10 | /// 11 | public enum TagType 12 | { 13 | /// Normal 14 | None, 15 | 16 | /// Red 17 | Red, 18 | /// Orange 19 | Orange, 20 | /// Yellow 21 | Yellow, 22 | /// Green 23 | Green, 24 | /// Blue 25 | Blue, 26 | /// Purple 27 | Purple 28 | } 29 | } -------------------------------------------------------------------------------- /Retouch Photo2.Adjustment/Icons/InvertIcon.xaml: -------------------------------------------------------------------------------- 1 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | -------------------------------------------------------------------------------- /Retouch Photo2.Adjustment/Icons/ExposureIcon.xaml: -------------------------------------------------------------------------------- 1 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | -------------------------------------------------------------------------------- /Retouch Photo2.Adjustment/Icons/SaturationIcon.xaml: -------------------------------------------------------------------------------- 1 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | -------------------------------------------------------------------------------- /Retouch Photo2.Brushs/StopsPickers/TransparencyStopsPickers.cs: -------------------------------------------------------------------------------- 1 | namespace Retouch_Photo2.Brushs 2 | { 3 | /// 4 | /// Transparency for . 5 | /// 6 | public class TransparencyStopsPickers : StopsPicker 7 | { 8 | 9 | #region DependencyProperty 10 | 11 | /// Gets or sets the transparency. 12 | public IBrush Transparency 13 | { 14 | get => this.transparency; 15 | set 16 | { 17 | if ((value is null) == false) base.SetArray(value.Stops); 18 | this.transparency = value; 19 | } 20 | } 21 | private IBrush transparency; 22 | 23 | 24 | #endregion 25 | 26 | } 27 | } -------------------------------------------------------------------------------- /Retouch Photo2.Adjustment/Icons/BrightnessIcon.xaml: -------------------------------------------------------------------------------- 1 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | -------------------------------------------------------------------------------- /Retouch Photo2.Brushs/BrushTypes/Icons/LinearGradientIcon.xaml: -------------------------------------------------------------------------------- 1 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | -------------------------------------------------------------------------------- /Retouch Photo2.Brushs/Models/BrushHandleMode.cs: -------------------------------------------------------------------------------- 1 | // Core: 2 | // Referenced: 3 | // Difficult: 4 | // Only: ★★ 5 | // Complete: 6 | namespace Retouch_Photo2.Brushs 7 | { 8 | /// 9 | /// Handle-mode of . 10 | /// 11 | public enum BrushHandleMode 12 | { 13 | /// Normal. 14 | None, 15 | 16 | /// . 17 | Center, 18 | /// . 19 | XPoint, 20 | /// . 21 | YPoint, 22 | 23 | /// Turn to "Initialize". 24 | ToInitializeController, 25 | } 26 | } -------------------------------------------------------------------------------- /README-ZH.md: -------------------------------------------------------------------------------- 1 | # 修图2 2 | 3 | ![](ScreenShot/logo.png) 4 | 5 | 6 | Windows 10 app 应用商店地址: 7 | [购置 修图2 - 微软商店](https://apps.microsoft.com/detail/9p76zf661496) 8 | 9 | 10 |
11 | 12 | ## 功能说明 13 | 14 | 矢量图形编辑工具,可以变换、填充图形,支持调整、效果、混合、画笔、几何、图层。 如果你觉得 Ai 太复杂不妨试试。 15 | 16 | 17 |
18 | 19 | ## 开发环境 20 | 21 | |Key|Value| 22 | |:-|:-| 23 | |系统要求| Windows10 Creators Update 或更高| 24 | |开发工具|Visual Studio 2017| 25 | |编程语言|C#| 26 | |显示语言|中文 and English| 27 | |评论语言|中文| 28 | 29 | 30 |
31 | 32 | ## 部署说明 33 | 34 | > 下载整个工程,运行`Retouch Photo2.sln`,启动工程`Retouch Photo2`,试试看是否可以工作。 35 | 36 | 37 |
38 | 39 | ## 修图2 的文档 40 | https://github.com/ysdy44/Retouch-Photo2-UWP-Documentation 41 | 42 | 43 |
44 | 45 | ## 老版本 46 | [Retouch-Photo-UWP](https://github.com/ysdy44/Retouch-Photo-UWP) 47 | ...... 48 | 49 | -------------------------------------------------------------------------------- /Retouch Photo2.Elements/Toolkit/Brushes/AlphaMode.cs: -------------------------------------------------------------------------------- 1 | // Licensed to the .NET Foundation under one or more agreements. 2 | // The .NET Foundation licenses this file to you under the MIT license. 3 | // See the LICENSE file in the project root for more information. 4 | 5 | namespace Microsoft.Toolkit.Uwp.UI.Media 6 | { 7 | /// 8 | /// Specifies the way in which an alpha channel affects color channels. 9 | /// 10 | public enum AlphaMode 11 | { 12 | /// 13 | /// Provides better transparent effects without a white bloom. 14 | /// 15 | Premultiplied = 0, 16 | 17 | /// 18 | /// WPF default handling of alpha channel during transparent blending. 19 | /// 20 | Straight = 1, 21 | } 22 | } 23 | -------------------------------------------------------------------------------- /Retouch Photo2.Tools/IconGeometrys/GeometryHeartIcon.xaml: -------------------------------------------------------------------------------- 1 | 4 | 5 | 6 | 7 | 8 | M11.284,3.117c1.024,-1.858 3.002,-3.117 5.271,-3.117c3.319,0 6.014,2.695 6.014,6.014c0,2.534 -3.363,6.006 -3.363,6.006l-7.83,7.627l-7.83,-7.627c0,0 -3.546,-3.422 -3.546,-6.006c0,-3.319 2.695,-6.014 6.014,-6.014c2.269,0 4.246,1.259 5.27,3.117 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /Retouch Photo2.Brushs/BrushType.cs: -------------------------------------------------------------------------------- 1 | // Core: 2 | // Referenced: ★★★ 3 | // Difficult: 4 | // Only: 5 | // Complete: 6 | namespace Retouch_Photo2.Brushs 7 | { 8 | /// 9 | /// Type of . 10 | /// 11 | public enum BrushType 12 | { 13 | /// Normal. 14 | None, 15 | 16 | /// Soild color brush. 17 | Color, 18 | 19 | /// Linear gradien brush. 20 | LinearGradient, 21 | /// Radial gradien brush. 22 | RadialGradient, 23 | /// Elliptical gradien brush. 24 | EllipticalGradient, 25 | 26 | /// Image brush. 27 | Image, 28 | } 29 | } -------------------------------------------------------------------------------- /Retouch Photo2.Elements/$MainPages/MainPageState.cs: -------------------------------------------------------------------------------- 1 | // Core: 2 | // Referenced: 3 | // Difficult: 4 | // Only: 5 | // Complete: 6 | namespace Retouch_Photo2.Elements 7 | { 8 | /// 9 | /// State of . 10 | /// 11 | public enum MainPageState 12 | { 13 | /// Normal. 14 | None, 15 | 16 | /// Main page. 17 | Main, 18 | 19 | 20 | /// Add a pictures project. 21 | Pictures, 22 | /// Rename a project. 23 | Rename, 24 | 25 | /// Delete project(s). 26 | Delete, 27 | /// Duplicate project(s). 28 | Duplicate, 29 | } 30 | } -------------------------------------------------------------------------------- /Retouch Photo2.Tools/IconGeometrys/GeometryCookieIcon.xaml: -------------------------------------------------------------------------------- 1 | 4 | 5 | 6 | 7 | 8 | M22.144,11.072l-5.536,0c0,-3.058 -2.479,-5.536 -5.536,-5.536c-3.056,0 -5.536,2.48 -5.536,5.536c0,3.057 2.478,5.536 5.536,5.536l0,5.536c-6.115,0 -11.072,-4.957 -11.072,-11.072c0,-6.111 4.961,-11.072 11.072,-11.072c6.115,0 11.072,4.957 11.072,11.072Z 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /Retouch Photo2.Adjustment/Icons/ContrastIcon.xaml: -------------------------------------------------------------------------------- 1 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | -------------------------------------------------------------------------------- /Retouch Photo2.Adjustment/Icons/VignetteIcon.xaml: -------------------------------------------------------------------------------- 1 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | -------------------------------------------------------------------------------- /Retouch Photo2.Elements/$DrawPages/SnapIcon.xaml: -------------------------------------------------------------------------------- 1 | 4 | 5 | 6 | 7 | 8 | M4.294,14.039l2.773,-2.773l3.747,3.747c1.159,1.159 3.04,1.159 4.199,0c1.159,-1.159 1.159,-3.04 0,-4.199l-3.747,-3.747l2.773,-2.773l4.144,4.143c2.689,2.69 2.689,7.057 0,9.746c-2.689,2.689 -7.056,2.689 -9.746,0l-4.143,-4.144Zm8.09,-11.401l-2.773,2.773l-2.639,-2.638l2.773,-2.773l2.639,2.638Zm-6.973,6.973l-2.773,2.773l-2.638,-2.639l2.773,-2.773l2.638,2.639Z 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /Retouch Photo2.Adjustment/Icons/TemperatureIcon.xaml: -------------------------------------------------------------------------------- 1 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | -------------------------------------------------------------------------------- /Retouch Photo2.Filters/FilterCategory.cs: -------------------------------------------------------------------------------- 1 | // Core: ★★★★ 2 | // Referenced: ★★★★ 3 | // Difficult: 4 | // Only: ★★★ 5 | // Complete: ★ 6 | using System.Collections.Generic; 7 | 8 | namespace Retouch_Photo2.Filters 9 | { 10 | /// 11 | /// Category of . 12 | /// 13 | public class FilterCategory 14 | { 15 | /// Gets or sets the name. 16 | public string Name { get; set; } 17 | 18 | /// 19 | /// The localized strings resources. 20 | /// 21 | public IDictionary Strings { get; set; } 22 | 23 | /// 24 | /// The source data. 25 | /// 26 | public IEnumerable Filters { get; set; } 27 | } 28 | } -------------------------------------------------------------------------------- /Retouch Photo2.Operates/Icon.xaml: -------------------------------------------------------------------------------- 1 | 11 | 12 | 13 | 14 | M9.096,0c-5.024,0 -9.096,4.072 -9.096,9.096c0,5.02 4.076,9.095 9.096,9.095c5.023,0 9.095,-4.072 9.095,-9.095l-9.095,0l0,-9.096Zm9.095,6.361c0,-3.513 -2.848,-6.361 -6.361,-6.361l0,6.361l6.361,0Z 15 | 16 | 17 | 18 | 19 | -------------------------------------------------------------------------------- /Retouch Photo2.Tools/Elements/CompositeModes/Icons/AddIcon.xaml: -------------------------------------------------------------------------------- 1 | 4 | 5 | 6 | 7 | 8 | M16.011,7.671C20.327,7.789 23.794,11.33 23.794,15.673C23.794,20.092 20.207,23.679 15.789,23.679C11.483,23.679 7.967,20.273 7.79,16.011L0,16.011L0,0L16.011,0L16.011,7.671ZM16.572,15.451L16.572,12.649L15.451,12.649L15.451,15.451L12.649,15.451L12.649,16.572L15.451,16.572L15.451,19.374L16.572,19.374L16.572,16.572L19.374,16.572L19.374,15.451L16.572,15.451Z 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /Retouch Photo2.Adjustment/Icons/GammaTransferIcon.xaml: -------------------------------------------------------------------------------- 1 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | -------------------------------------------------------------------------------- /Retouch Photo2.Brushs/TransparencyTypes/Icons/LinearGradientIcon.xaml: -------------------------------------------------------------------------------- 1 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | -------------------------------------------------------------------------------- /Retouch Photo2.Styles/StyleCategory.cs: -------------------------------------------------------------------------------- 1 | // Core: ★★★★ 2 | // Referenced: ★★★★ 3 | // Difficult: 4 | // Only: ★★★ 5 | // Complete: ★ 6 | using System.Collections.Generic; 7 | 8 | namespace Retouch_Photo2.Styles 9 | { 10 | /// 11 | /// Category of . 12 | /// 13 | public class StyleCategory 14 | { 15 | /// Gets or sets the name. 16 | public string Name { get; set; } = string.Empty; 17 | 18 | /// 19 | /// The localized strings resources. 20 | /// 21 | public IDictionary Strings { get; set; } 22 | 23 | /// 24 | /// The source data. 25 | /// 26 | public IEnumerable Styles { get; set; } 27 | } 28 | } -------------------------------------------------------------------------------- /Retouch Photo2.Tools/IconGeometrys/GeometryDountIcon.xaml: -------------------------------------------------------------------------------- 1 | 4 | 5 | 6 | 7 | 8 | M11.072,0c6.111,0 11.072,4.961 11.072,11.072c0,6.111 -4.961,11.072 -11.072,11.072c-6.111,0 -11.072,-4.961 -11.072,-11.072c0,-6.111 4.961,-11.072 11.072,-11.072Zm0,5.536c3.055,0 5.536,2.48 5.536,5.536c0,3.055 -2.481,5.536 -5.536,5.536c-3.056,0 -5.536,-2.481 -5.536,-5.536c0,-3.056 2.48,-5.536 5.536,-5.536Z 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /Retouch Photo2.Brushs/BrushTypes/Icons/RadialGradientIcon.xaml: -------------------------------------------------------------------------------- 1 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | -------------------------------------------------------------------------------- /Retouch Photo2.Blends/Icons/DissolveIcon.xaml: -------------------------------------------------------------------------------- 1 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 0,10 10,0 12,2 14,0 24,10 14,20 12,18 10,20 11 | 12 | 13 | 14 | 15 | 16 | 4,10 12,2 14,0 24,10 14,20 12,18 17 | 18 | 19 | 20 | 21 | 22 | 23 | -------------------------------------------------------------------------------- /Retouch Photo2.Brushs/BrushTypes/Icons/EllipticalGradientIcon.xaml: -------------------------------------------------------------------------------- 1 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | -------------------------------------------------------------------------------- /Retouch Photo2.Brushs/TransparencyTypes/Icons/RadialGradientIcon.xaml: -------------------------------------------------------------------------------- 1 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | -------------------------------------------------------------------------------- /Retouch Photo2.Effects/Icons/EmbossIcon.xaml: -------------------------------------------------------------------------------- 1 | 4 | 5 | 6 | 7 | 8 | M3.671,16.325l-2.26,0l16.325,-16.325l2.259,0l-16.324,16.325Zm18.363,-12.833l-12.833,12.833l-2.923,0l15.756,-15.757l0,2.924Zm0,4.94l-7.893,7.893l-2.333,0l10.226,-10.226l0,2.333Zm0,5.036l-2.857,2.857l-2.429,0l5.286,-5.286l0,2.429Zm-22.034,1.661l0,-2.112l13.017,-13.017l2.112,0l-15.129,15.129Zm0,-4.719l0,-2.506l7.904,-7.904l2.506,0l-10.41,10.41Zm0,-5.113l0,-2.677l2.62,-2.62l2.677,0l-5.297,5.297Z 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /Retouch Photo2.Elements/$DrawPages/DrawLayoutState.cs: -------------------------------------------------------------------------------- 1 | // Core: 2 | // Referenced: 3 | // Difficult: 4 | // Only: 5 | // Complete: 6 | namespace Retouch_Photo2.Elements 7 | { 8 | /// 9 | /// State of . 10 | /// 11 | public enum DrawLayoutState 12 | { 13 | /// Normal. 14 | None, 15 | 16 | /// Full-screen. 17 | FullScreen, 18 | 19 | /// Phone. 20 | Phone, 21 | /// Phone (Show left border). 22 | PhoneShowLeft, 23 | /// Phone (Show right border). 24 | PhoneShowRight, 25 | 26 | /// Pad. 27 | Pad, 28 | 29 | /// Person computer. 30 | PC, 31 | } 32 | } -------------------------------------------------------------------------------- /Retouch Photo2.Tools/Icons/CropIcon.xaml: -------------------------------------------------------------------------------- 1 | 4 | 5 | 6 | 7 | 8 | M2.264,17.096l4.337,0l0,2.211l-6.601,0l0,-6.371l2.264,0l0,4.16Zm17.503,2.211l-6.601,0l0,-2.211l4.337,0l0,-4.16l2.264,0l0,6.371Zm-3.164,-16.373l0,13.44l-13.44,0l0,-13.44l13.44,0Zm3.164,3.437l-2.264,0l0,-4.16l-4.337,0l0,-2.211l6.601,0l0,6.371Zm-13.166,-4.16l-4.337,0l0,4.16l-2.264,0l0,-6.371l6.601,0l0,2.211Z 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /Retouch Photo2.Blends/Icons/HardLightIcon.xaml: -------------------------------------------------------------------------------- 1 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 0,10 10,0 12,2 14,0 24,10 14,20 12,18 10,20 11 | 12 | 13 | 14 | 15 | 16 | 4,10 12,2 14,0 24,10 14,20 12,18 17 | 18 | 19 | 20 | 21 | 22 | 23 | -------------------------------------------------------------------------------- /Retouch Photo2.Brushs/TransparencyTypes/Icons/EllipticalGradientIcon.xaml: -------------------------------------------------------------------------------- 1 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | -------------------------------------------------------------------------------- /Retouch Photo2.Tools/Elements/CompositeModes/Icons/IntersectIcon.xaml: -------------------------------------------------------------------------------- 1 | 4 | 5 | 6 | 7 | 8 | M16.011,7.671C20.327,7.789 23.794,11.33 23.794,15.673C23.794,20.092 20.207,23.679 15.789,23.679C11.483,23.679 7.967,20.273 7.79,16.011L16.011,16.011L16.011,7.671ZM16.011,6.55C15.938,6.548 15.863,6.547 15.789,6.547C10.752,6.547 6.662,10.636 6.662,15.673C6.662,15.787 6.664,15.9 6.668,16.011L0,16.011L0,0L16.011,0L16.011,6.55ZM14.891,14.891L7.821,14.891C8.186,11.135 11.151,8.136 14.891,7.718L14.891,14.891Z 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /Retouch Photo2.Tools/Elements/CompositeModes/Icons/SubtractIcon.xaml: -------------------------------------------------------------------------------- 1 | 4 | 5 | 6 | 7 | 8 | M15.789,7.668C20.207,7.668 23.794,11.255 23.794,15.673C23.794,20.092 20.207,23.679 15.789,23.679C11.37,23.679 7.783,20.092 7.783,15.673C7.783,11.255 11.37,7.668 15.789,7.668ZM19.374,15.451L12.649,15.451L12.649,16.572L19.374,16.572L19.374,15.451ZM16.011,6.55C15.938,6.548 15.863,6.547 15.789,6.547C10.752,6.547 6.662,10.636 6.662,15.673C6.662,15.787 6.664,15.9 6.668,16.011L0,16.011L0,0L16.011,0L16.011,6.55Z 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /Retouch Photo2.Elements/DeviceLayoutType.cs: -------------------------------------------------------------------------------- 1 | // Core: 2 | // Referenced: ★★★ 3 | // Difficult: 4 | // Only: 5 | // Complete: 6 | namespace Retouch_Photo2.Elements 7 | { 8 | /// 9 | /// Device layout type. 10 | /// 11 | public enum DeviceLayoutType 12 | { 13 | /// Person computer. 14 | PC, 15 | /// Pad. 16 | Pad, 17 | /// Phone. 18 | Phone, 19 | } 20 | 21 | /// 22 | /// Phone layout type. 23 | /// 24 | public enum PhoneLayoutType 25 | { 26 | /// Hide left and right borders. 27 | Hided, 28 | 29 | /// Show left border. 30 | ShowLeft, 31 | 32 | /// Show right border. 33 | ShowRight, 34 | } 35 | } -------------------------------------------------------------------------------- /Retouch Photo2.Effects/Icons/GaussianBlurIcon.xaml: -------------------------------------------------------------------------------- 1 | 4 | 5 | 6 | 7 | 8 | M6.792,0.419c-2.614,4.966 -6.893,12.762 -6.79,16.169c0.104,3.481 2.842,7.245 7.403,7.372c4.418,0.124 7.332,-3.889 7.403,-7.372c0.071,-3.42 -4.254,-11.16 -6.825,-16.169c-0.109,-0.211 -0.299,-0.412 -0.578,-0.419c-0.266,-0.006 -0.512,0.209 -0.613,0.419l0,0Zm0.637,1.681c0,0 -6.074,11.414 -6.022,14.333c0.059,3.312 2.163,6.116 6.282,6.065c3.615,-0.046 5.706,-3.234 5.714,-6.065c0.008,-2.973 -5.974,-14.333 -5.974,-14.333l0,0Z 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /Retouch Photo2.Layers/Icon.xaml: -------------------------------------------------------------------------------- 1 | 11 | 12 | 13 | 14 | M11.839,19.464l9.279,-5.4l2.56,1.38l-11.839,6.519l-11.839,-6.519l2.278,-1.38l9.561,5.4Zm0,-4.33l-9.561,-5.471l-2.278,1.319l11.839,6.531l11.839,-6.531l-2.132,-1.319l-9.707,5.471Zm0,-2.069l-11.839,-6.494l11.839,-6.571l11.839,6.571l-11.839,6.494Z 15 | 16 | 17 | 18 | 19 | -------------------------------------------------------------------------------- /Retouch Photo2.Strokes/StrokeShowControl.xaml: -------------------------------------------------------------------------------- 1 | 14 | 15 | 16 | 17 | 18 | 19 | -------------------------------------------------------------------------------- /Retouch Photo2.Tools/IClickeTool.cs: -------------------------------------------------------------------------------- 1 | // Core: ★★★★★ 2 | // Referenced: ★★★ 3 | // Difficult: 4 | // Only: ★★★★ 5 | // Complete: 6 | using System.Numerics; 7 | 8 | namespace Retouch_Photo2.Tools 9 | { 10 | /// 11 | /// Represents a tool that can be clicked. Method has bool type return value. 12 | /// 13 | public interface IClickeTool 14 | { 15 | 16 | /// 17 | /// Select a layer from a point, make it to selection layer and make the TransformerMode to move. 18 | /// 19 | /// The point. 20 | /// Return **false** if you do not select to any layer. 21 | bool Clicke(Vector2 point); 22 | 23 | /// 24 | /// Occurs when the cursor pointer is moved. 25 | /// 26 | void Cursor(Vector2 point); 27 | 28 | } 29 | } -------------------------------------------------------------------------------- /Retouch Photo2.Adjustment/AdjustmentCommand.cs: -------------------------------------------------------------------------------- 1 | // Core: ★★ 2 | // Referenced: ★ 3 | // Difficult: ★★★★ 4 | // Only: 5 | // Complete: ★★★★ 6 | using System; 7 | using System.Windows.Input; 8 | 9 | namespace Retouch_Photo2.Adjustments 10 | { 11 | public class AdjustmentCommand : ICommand 12 | { 13 | //@Static 14 | public static Action Edit { get; set; } 15 | public static Action Remove { get; set; } 16 | 17 | 18 | private readonly Action action; 19 | public AdjustmentCommand(Action action) 20 | { 21 | this.action = action; 22 | } 23 | public event EventHandler CanExecuteChanged; 24 | 25 | public bool CanExecute(object parameter) 26 | { 27 | return true; 28 | } 29 | 30 | public void Execute(object parameter) 31 | { 32 | action(); 33 | } 34 | } 35 | } -------------------------------------------------------------------------------- /Retouch Photo2.Tools/Elements/ConvertToCurvesIcon.xaml: -------------------------------------------------------------------------------- 1 | 4 | 5 | 6 | 7 | 8 | M15.712,3.231l3.231,-3.231l3.734,3.734l-2.873,2.873l0,10.481l2.873,2.873l-3.734,3.734l-3.242,-3.242l-10.651,-0.684l-2.165,2.164l-2.885,-2.885l2.044,-2.043l0,-10.379l-2.044,-2.044l2.885,-2.885l2.244,2.244l10.583,-0.71Zm5.268,16.73l-2.037,-2.036l-2.036,2.036l2.036,2.036l2.037,-2.036Zm-16.323,-14.266l-0.941,0.941l0,10.358l1.009,1.009l11.543,0.9l1.864,-1.864l0,-10.383l-1.882,-1.882l-11.593,0.921Zm16.323,-1.961l-2.037,-2.037l-2.036,2.037l2.036,2.036l2.037,-2.036Z 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /Retouch Photo2.Effects/EffectType.cs: -------------------------------------------------------------------------------- 1 | // Core: 2 | // Referenced: ★★★ 3 | // Difficult: 4 | // Only: 5 | // Complete: 6 | namespace Retouch_Photo2.Effects 7 | { 8 | /// 9 | /// Type of . 10 | /// 11 | public enum EffectType 12 | { 13 | /// Nornal 14 | None, 15 | 16 | /// GaussianBlur 17 | GaussianBlur, 18 | 19 | /// DirectionalBlur 20 | DirectionalBlur, 21 | 22 | /// Sharpen 23 | Sharpen, 24 | 25 | /// OuterShadow 26 | OuterShadow, 27 | 28 | /// Edge 29 | Edge, 30 | 31 | /// Morphology 32 | Morphology, 33 | 34 | /// Emboss 35 | Emboss, 36 | 37 | /// Straighten 38 | Straighten 39 | } 40 | } -------------------------------------------------------------------------------- /Retouch Photo2.Elements/$Loading/LoadingState.cs: -------------------------------------------------------------------------------- 1 | // Core: 2 | // Referenced: 3 | // Difficult: 4 | // Only: 5 | // Complete: 6 | namespace Retouch_Photo2.Elements 7 | { 8 | /// 9 | /// State of 10 | /// 11 | public enum LoadingState 12 | { 13 | /// Normal 14 | None, 15 | 16 | /// Loading 17 | Loading, 18 | /// Load failed 19 | LoadFailed, 20 | 21 | /// Loading with progress. 22 | LoadingWithProgress, 23 | 24 | /// File corrupt 25 | FileCorrupt, 26 | /// File null 27 | FileNull, 28 | 29 | /// Saving 30 | Saving, 31 | /// Save success 32 | SaveSuccess, 33 | /// Save failed 34 | SaveFailed, 35 | } 36 | } -------------------------------------------------------------------------------- /Retouch Photo2.Layers/Clipboards/Clipboard.Instance.cs: -------------------------------------------------------------------------------- 1 | using System.Collections.ObjectModel; 2 | using System.Linq; 3 | 4 | namespace Retouch_Photo2.Layers 5 | { 6 | /// 7 | /// Represents a cutboard used to paste layer(s). 8 | /// 9 | public partial class Clipboard 10 | { 11 | 12 | //@Static 13 | /// Collection s instances. 14 | public static ObservableCollection Instances = new ObservableCollection(); 15 | 16 | 17 | /// 18 | /// Find the first by . 19 | /// 20 | /// The source layerage 21 | /// The product layer. 22 | public static ILayer FindFirstLayer(Layerage layerage) 23 | { 24 | string id = layerage.Id; 25 | return Clipboard.Instances.FirstOrDefault(i => i.Id == id); 26 | } 27 | 28 | } 29 | } -------------------------------------------------------------------------------- /Retouch Photo2.Tools/IconPatterns/PatternDiagonalIcon.xaml: -------------------------------------------------------------------------------- 1 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | -------------------------------------------------------------------------------- /Retouch Photo2.Tools/Icons/ImageIcon.xaml: -------------------------------------------------------------------------------- 1 | 4 | 5 | 6 | 8 | 9 | 10 | M22.634,16.915l-22.634,0l0,-16.915l22.634,0l0,16.915Zm-21.152,-8.458l0,2.126l4.921,-4.54l9.556,9.223l1.901,0l-3.328,-3.352l1.831,-1.831l4.825,5.183l0,-2.449l-5.016,-4.944l-2.567,2.9l-7.202,-6.941l-4.921,4.625l0,0Zm16.174,-4.354c0.437,0 0.793,0.356 0.793,0.793c0,0.437 -0.356,0.793 -0.793,0.793c-0.437,0 -0.794,-0.356 -0.794,-0.793c0,-0.437 0.357,-0.793 0.794,-0.793Z 11 | 12 | 13 | 14 | 15 | 16 | -------------------------------------------------------------------------------- /Retouch Photo2.Adjustment/Icon.xaml: -------------------------------------------------------------------------------- 1 | 11 | 12 | 13 | 14 | M10.109,15.47l2.391,0l0,6.242l-2.391,0l0,-6.242Zm14.891,4.298l-11.65,0l0,-2.4l11.65,0l0,2.4Zm-15.526,0l-9.474,0l0,-2.4l9.474,0l0,2.4Zm-5.248,-11.909l2.391,0l0,6.242l-2.391,0l0,-6.242Zm20.774,4.321l-17.574,0l0,-2.4l17.574,0l0,2.4Zm-21.59,0l-3.41,0l0,-2.4l3.41,0l0,2.4Zm11.579,-12.18l2.391,0l0,6.242l-2.391,0l0,-6.242Zm-14.989,1.868l14.251,0l0,2.4l-14.251,0l0,-2.4Zm18.133,0l6.867,0l0,2.4l-6.867,0l0,-2.4Z 15 | 16 | 17 | 18 | 19 | -------------------------------------------------------------------------------- /Retouch Photo2.Layers/Models/TextFrameLayer.cs: -------------------------------------------------------------------------------- 1 | // Core: ★★★★ 2 | // Referenced: ★★ 3 | // Difficult: ★★ 4 | // Only: ★★★★ 5 | // Complete: ★★ 6 | 7 | namespace Retouch_Photo2.Layers.Models 8 | { 9 | /// 10 | /// 's TextFrameLayer . 11 | /// 12 | public class TextFrameLayer : TextLayer, ITextLayer, ILayer 13 | { 14 | 15 | //@Override 16 | public override LayerType Type => LayerType.TextFrame; 17 | 18 | /// Gets or sets the text. 19 | public override string FontText { get; set; } = string.Empty; 20 | /// Gets or sets the size. 21 | public override float FontSize { get; set; } = 22.0f; 22 | 23 | 24 | public override ILayer Clone() 25 | { 26 | TextFrameLayer layer = new TextFrameLayer(); 27 | TextLayer.FontCopyWith(this, layer); 28 | LayerBase.CopyWith(this, layer); 29 | return layer; 30 | } 31 | 32 | } 33 | } -------------------------------------------------------------------------------- /Retouch Photo2.Photos/Photocopier.cs: -------------------------------------------------------------------------------- 1 | // Core: ★★★★ 2 | // Referenced: ★★★★★ 3 | // Difficult: ★★ 4 | // Only: ★★★★ 5 | // Complete: ★★★ 6 | using Windows.Storage; 7 | 8 | namespace Retouch_Photo2.Photos 9 | { 10 | /// 11 | /// ID of . 12 | /// 13 | public struct Photocopier 14 | { 15 | /// Gets or sets . 16 | public string Name; 17 | /// Gets or sets . 18 | public string FileType; 19 | /// Gets or sets . 20 | public string FolderRelativeId; 21 | 22 | //@Override 23 | /// 24 | ///Returns a String representing this instance. 25 | /// 26 | /// The string representation. 27 | public override string ToString() => this.FolderRelativeId; 28 | 29 | } 30 | } -------------------------------------------------------------------------------- /Retouch Photo2.Strokes/StrokeShowControl.xaml.cs: -------------------------------------------------------------------------------- 1 | // Core: ★★ 2 | // Referenced: ★★ 3 | // Difficult: ★★★★ 4 | // Only: ★★★ 5 | // Complete: ★★★★ 6 | using Microsoft.Graphics.Canvas.Geometry; 7 | using Windows.UI.Xaml; 8 | using Windows.UI.Xaml.Controls; 9 | 10 | namespace Retouch_Photo2.Strokes 11 | { 12 | /// 13 | /// Represents a control used to show a stroke-style. 14 | /// 15 | public sealed partial class StrokeShowControl : UserControl 16 | { 17 | 18 | #region DependencyProperty 19 | 20 | /// Gets or sets 's stroke-style. 21 | public CanvasStrokeStyle StrokeStyle { set => this.Line.SetStrokeStyle(value); } 22 | 23 | #endregion 24 | 25 | 26 | //@Construct 27 | /// 28 | /// Initializes a StrokeShowControl. 29 | /// 30 | public StrokeShowControl() 31 | { 32 | this.InitializeComponent(); 33 | } 34 | 35 | } 36 | } -------------------------------------------------------------------------------- /Retouch Photo2.Blends/Icons/ScreenIcon.xaml: -------------------------------------------------------------------------------- 1 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 0,10 10,0 12,2 14,0 24,10 14,20 12,18 10,20 11 | 12 | 13 | 14 | 15 | 16 | 4,10 12,2 20,10 12,18 17 | 18 | 19 | 20 | 21 | 20,10 12,2 14,0 24,10 14,20 12,18 22 | 23 | 24 | 25 | 26 | 27 | 28 | -------------------------------------------------------------------------------- /Retouch Photo2.Blends/Icons/ColorDodgeIcon.xaml: -------------------------------------------------------------------------------- 1 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 0,10 10,0 12,2 14,0 24,10 14,20 12,18 10,20 11 | 12 | 13 | 14 | 15 | 16 | 4,10 12,2 20,10 12,18 17 | 18 | 19 | 20 | 21 | 20,10 12,2 14,0 24,10 14,20 12,18 22 | 23 | 24 | 25 | 26 | 27 | 28 | -------------------------------------------------------------------------------- /Retouch Photo2.Blends/Icons/HardMixIcon.xaml: -------------------------------------------------------------------------------- 1 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 0,10 10,0 12,2 14,0 24,10 14,20 12,18 10,20 11 | 12 | 13 | 14 | 15 | 16 | 4,10 12,2 20,10 12,18 17 | 18 | 19 | 20 | 21 | 20,10 12,2 14,0 24,10 14,20 12,18 22 | 23 | 24 | 25 | 26 | 27 | 28 | -------------------------------------------------------------------------------- /Retouch Photo2.Blends/Icons/HueIcon.xaml: -------------------------------------------------------------------------------- 1 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 0,10 10,0 12,2 14,0 24,10 14,20 12,18 10,20 11 | 12 | 13 | 14 | 15 | 16 | 0,10 10,0 12,2 4,10 12,18 10,20 17 | 18 | 19 | 20 | 21 | 4,10 12,2 14,0 24,10 14,20 12,18 22 | 23 | 24 | 25 | 26 | 27 | 28 | -------------------------------------------------------------------------------- /Retouch Photo2.Blends/Icons/LightenIcon.xaml: -------------------------------------------------------------------------------- 1 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 0,10 10,0 12,2 14,0 24,10 14,20 12,18 10,20 11 | 12 | 13 | 14 | 15 | 16 | 4,10 12,2 20,10 12,18 17 | 18 | 19 | 20 | 21 | 20,10 12,2 14,0 24,10 14,20 12,18 22 | 23 | 24 | 25 | 26 | 27 | 28 | -------------------------------------------------------------------------------- /Retouch Photo2.Blends/Icons/PinLightIcon.xaml: -------------------------------------------------------------------------------- 1 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 0,10 10,0 12,2 14,0 24,10 14,20 12,18 10,20 11 | 12 | 13 | 14 | 15 | 16 | 4,10 12,2 20,10 12,18 17 | 18 | 19 | 20 | 21 | 20,10 12,2 14,0 24,10 14,20 12,18 22 | 23 | 24 | 25 | 26 | 27 | 28 | -------------------------------------------------------------------------------- /Retouch Photo2.Blends/Icons/VividLightIcon.xaml: -------------------------------------------------------------------------------- 1 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 0,10 10,0 12,2 14,0 24,10 14,20 12,18 10,20 11 | 12 | 13 | 14 | 15 | 16 | 4,10 12,2 20,10 12,18 17 | 18 | 19 | 20 | 21 | 20,10 12,2 14,0 24,10 14,20 12,18 22 | 23 | 24 | 25 | 26 | 27 | 28 | -------------------------------------------------------------------------------- /Retouch Photo2.Tools/Elements/PatternGridTypes/Icons/VerticalIcon.xaml: -------------------------------------------------------------------------------- 1 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | -------------------------------------------------------------------------------- /Retouch Photo2.Blends/Icons/ColorIcon.xaml: -------------------------------------------------------------------------------- 1 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 0,10 10,0 12,2 14,0 24,10 14,20 12,18 10,20 11 | 12 | 13 | 14 | 15 | 16 | 0,10 10,0 12,2 4,10 12,18 10,20 17 | 18 | 19 | 20 | 21 | 4,10 12,2 14,0 24,10 14,20 12,18 22 | 23 | 24 | 25 | 26 | 27 | 28 | -------------------------------------------------------------------------------- /Retouch Photo2.Blends/Icons/LinearDodgeIcon.xaml: -------------------------------------------------------------------------------- 1 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 0,10 10,0 12,2 14,0 24,10 14,20 12,18 10,20 11 | 12 | 13 | 14 | 15 | 16 | 4,10 12,2 20,10 12,18 17 | 18 | 19 | 20 | 21 | 20,10 12,2 14,0 24,10 14,20 12,18 22 | 23 | 24 | 25 | 26 | 27 | 28 | -------------------------------------------------------------------------------- /Retouch Photo2.Blends/Icons/LinearLightIcon.xaml: -------------------------------------------------------------------------------- 1 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 0,10 10,0 12,2 14,0 24,10 14,20 12,18 10,20 11 | 12 | 13 | 14 | 15 | 16 | 4,10 12,2 20,10 12,18 17 | 18 | 19 | 20 | 21 | 20,10 12,2 14,0 24,10 14,20 12,18 22 | 23 | 24 | 25 | 26 | 27 | 28 | -------------------------------------------------------------------------------- /Retouch Photo2.Tools/Elements/PatternGridTypes/Icons/HorizontalIcon.xaml: -------------------------------------------------------------------------------- 1 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | -------------------------------------------------------------------------------- /Retouch Photo2.Blends/Icons/LighterColorIcon.xaml: -------------------------------------------------------------------------------- 1 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 0,10 10,0 12,2 14,0 24,10 14,20 12,18 10,20 11 | 12 | 13 | 14 | 15 | 16 | 4,10 12,2 20,10 12,18 17 | 18 | 19 | 20 | 21 | 20,10 12,2 14,0 24,10 14,20 12,18 22 | 23 | 24 | 25 | 26 | 27 | 28 | -------------------------------------------------------------------------------- /Retouch Photo2.Blends/Icons/LuminosityIcon.xaml: -------------------------------------------------------------------------------- 1 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 0,10 10,0 12,2 14,0 24,10 14,20 12,18 10,20 11 | 12 | 13 | 14 | 15 | 16 | 4,10 12,2 20,10 12,18 17 | 18 | 19 | 20 | 21 | 20,10 12,2 14,0 24,10 14,20 12,18 22 | 23 | 24 | 25 | 26 | 27 | 28 | -------------------------------------------------------------------------------- /Retouch Photo2.Tools/Elements/NodeIcons/SharpIcon.xaml: -------------------------------------------------------------------------------- 1 | 4 | 5 | 6 | 7 | 8 | M8.948,9.521c-0.282,-0.507 -0.442,-1.088 -0.442,-1.706c0,-1.972 1.632,-3.573 3.642,-3.573c2.01,0 3.642,1.601 3.642,3.573c0,0.699 -0.205,1.352 -0.56,1.903l8.074,8.931c0.266,0.294 0.159,0.778 -0.023,0.928c-0.21,0.172 -0.71,0.312 -1.067,-0.023l-8.137,-8.709c-0.56,0.344 -1.221,0.542 -1.929,0.542c-0.798,0 -1.536,-0.252 -2.136,-0.679l0.02,0.022l-8.246,8.824c-0.357,0.335 -0.857,0.195 -1.067,0.023c-0.182,-0.15 -0.289,-0.634 -0.023,-0.928c1.465,-1.62 8.252,-9.128 8.252,-9.128l0,0Zm3.2,-3.493c1.005,0 1.821,0.801 1.821,1.787c0,0.986 -0.816,1.786 -1.821,1.786c-1.005,0 -1.821,-0.8 -1.821,-1.786c0,-0.986 0.816,-1.787 1.821,-1.787Z 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /Retouch Photo2.Blends/Icons/DarkerColorIcon.xaml: -------------------------------------------------------------------------------- 1 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 0,10 10,0 12,2 14,0 24,10 14,20 12,18 10,20 11 | 12 | 13 | 14 | 15 | 16 | 0,10 10,0 12,2 4,10 12,18 10,20 17 | 18 | 19 | 20 | 21 | 4,10 12,2 14,0 24,10 14,20 12,18 22 | 23 | 24 | 25 | 26 | 27 | 28 | -------------------------------------------------------------------------------- /Retouch Photo2.Filters/Icon.xaml: -------------------------------------------------------------------------------- 1 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | -------------------------------------------------------------------------------- /Retouch Photo2.Elements/BackRequestedExtension.cs: -------------------------------------------------------------------------------- 1 | // Core: ★★★★★ 2 | // Referenced: ★★ 3 | // Difficult: ★ 4 | // Only: ★★ 5 | // Complete: ★★★ 6 | using Windows.System; 7 | using Windows.UI.Core; 8 | using Windows.UI.Xaml; 9 | using Windows.UI.Xaml.Controls; 10 | 11 | namespace Retouch_Photo2.Elements 12 | { 13 | /// 14 | /// Provides constant and static member 15 | /// for TextBox, Dialog, Layout, Page's BackRequested. 16 | /// 17 | public class BackRequestedExtension 18 | { 19 | /// Gets the SystemNavigationManager.GetForCurrentView. 20 | public static SystemNavigationManager Current { get; } = SystemNavigationManager.GetForCurrentView(); 21 | 22 | /// Gets or sets the TextBox's state 23 | public static bool TextBoxIsShow = false; 24 | /// Gets or sets the Dialog's state 25 | public static bool DialogIsShow = false; 26 | /// Gets or sets the Layout's state 27 | public static bool LayoutIsShow = false; 28 | } 29 | } -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- 1 | MIT License 2 | 3 | Copyright (c) 2021 ysdy44 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy 6 | of this software and associated documentation files (the "Software"), to deal 7 | in the Software without restriction, including without limitation the rights 8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | copies of the Software, and to permit persons to whom the Software is 10 | furnished to do so, subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in all 13 | copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 21 | SOFTWARE. 22 | -------------------------------------------------------------------------------- /Retouch Photo2.Historys/Models/LayersPropertyHistory.cs: -------------------------------------------------------------------------------- 1 | // Core: ★★★ 2 | // Referenced: ★★★ 3 | // Difficult: 4 | // Only: 5 | // Complete: ★ 6 | using System; 7 | 8 | namespace Retouch_Photo2.Historys 9 | { 10 | /// 11 | /// Represents a history used to change layer properties. 12 | /// 13 | public class LayersPropertyHistory : HistoryBase, IHistory 14 | { 15 | /// 16 | /// Undo action 17 | /// 18 | public Action UndoAction { get; set; } 19 | 20 | //@Construct 21 | /// 22 | /// Initializes a LayersPropertyHistory. 23 | /// 24 | /// The type. 25 | public LayersPropertyHistory(HistoryType type) 26 | { 27 | base.Type = type; 28 | } 29 | 30 | /// Undo method. 31 | public override void Undo() 32 | { 33 | this.UndoAction?.Invoke(); 34 | } 35 | 36 | public void Dispose() 37 | { 38 | this.UndoAction = null; 39 | } 40 | } 41 | } -------------------------------------------------------------------------------- /Retouch Photo2.Effects/Icons/DirectionalBlurIcon.xaml: -------------------------------------------------------------------------------- 1 | 4 | 5 | 6 | 7 | 8 | M22.029,18.526l-22.029,0l0,-14.667l8.785,0c0.648,-1.284 1.32,-2.537 1.874,-3.591c0.065,-0.134 0.223,-0.272 0.392,-0.268c0.179,0.004 0.3,0.133 0.37,0.268c0.544,1.06 1.211,2.312 1.858,3.591l8.75,0l0,14.667Zm-13.956,-13.218l-6.624,0l0,11.749l19.154,0l0,-11.749l-6.608,0c1.006,2.099 1.814,4.107 1.789,5.296c-0.046,2.226 -1.908,4.793 -4.733,4.713c-2.916,-0.082 -4.665,-2.488 -4.732,-4.713c-0.036,-1.183 0.756,-3.196 1.754,-5.296Zm2.682,-2.57c-1.262,2.398 -3.328,6.163 -3.279,7.808c0.051,1.681 1.373,3.499 3.575,3.561c2.134,0.06 3.541,-1.879 3.576,-3.561c0.034,-1.651 -2.055,-5.389 -3.297,-7.808c-0.052,-0.102 -0.144,-0.199 -0.279,-0.202c-0.128,-0.004 -0.247,0.1 -0.296,0.202Z 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /Retouch Photo2/Properties/AssemblyInfo.cs: -------------------------------------------------------------------------------- 1 | using System.Reflection; 2 | using System.Runtime.CompilerServices; 3 | using System.Runtime.InteropServices; 4 | 5 | // General Information about an assembly is controlled through the following 6 | // set of attributes. Change these attribute values to modify the information 7 | // associated with an assembly. 8 | [assembly: AssemblyTitle("Retouch Photo")] 9 | [assembly: AssemblyDescription("")] 10 | [assembly: AssemblyConfiguration("")] 11 | [assembly: AssemblyCompany("")] 12 | [assembly: AssemblyProduct("Retouch Photo")] 13 | [assembly: AssemblyCopyright("Copyright © 2018")] 14 | [assembly: AssemblyTrademark("")] 15 | [assembly: AssemblyCulture("")] 16 | 17 | // Version information for an assembly consists of the following four values: 18 | // 19 | // Major Version 20 | // Minor Version 21 | // Build Number 22 | // Revision 23 | // 24 | // You can specify all the values or you can default the Build and Revision Numbers 25 | // by using the '*' as shown below: 26 | // [assembly: AssemblyVersion("1.0.*")] 27 | [assembly: AssemblyVersion("1.0.0.0")] 28 | [assembly: AssemblyFileVersion("1.0.0.0")] 29 | [assembly: ComVisible(false)] -------------------------------------------------------------------------------- /Retouch Photo2.Filters/FilterShowControl.xaml: -------------------------------------------------------------------------------- 1 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # Retouch-Photo-UWP-2 2 | 3 | ![](ScreenShot/logo.png) 4 | 5 | 6 | Windows 10 app store address: 7 | [Buy Retouch Photo2 - Microsoft Store](https://apps.microsoft.com/detail/9p76zf661496) 8 | 9 | 10 |
11 | 12 | ## Function description 13 | 14 | Vector Graphics Editing Tool, you can transform, fill graphics, support adjustment, effect, blend, brush, geometry, layers. If you think that the AI is too complex might as well try. 15 | 16 | 17 |
18 | 19 | ## Development environment 20 | 21 | |Key|Value| 22 | |:-|:-| 23 | |System requirements| Windows10 Creators Update or upper| 24 | |Development tool|Visual Studio 2017| 25 | |Programing language|C#| 26 | |Display language|Chinese and English| 27 | |Comment language|Chinese| 28 | 29 | 30 |
31 | 32 | ## Deployment instructions 33 | 34 | > Download the whole project, run `Retouch Photo2.sln`, start the project `Retouch Photo2`, and try to see if it works. 35 | 36 | 37 |
38 | 39 | ## Documentation for Retouch-Photo2-UWP. 40 | https://github.com/ysdy44/Retouch-Photo2-UWP-Documentation 41 | 42 | 43 |
44 | 45 | ## Old version 46 | [Retouch-Photo-UWP](https://github.com/ysdy44/Retouch-Photo-UWP) 47 | ...... 48 | 49 | -------------------------------------------------------------------------------- /Retouch Photo2.Blends/Properties/AssemblyInfo.cs: -------------------------------------------------------------------------------- 1 | using System.Reflection; 2 | using System.Runtime.CompilerServices; 3 | using System.Runtime.InteropServices; 4 | 5 | // General Information about an assembly is controlled through the following 6 | // set of attributes. Change these attribute values to modify the information 7 | // associated with an assembly. 8 | [assembly: AssemblyTitle("Retouch Photo.Blends")] 9 | [assembly: AssemblyDescription("")] 10 | [assembly: AssemblyConfiguration("")] 11 | [assembly: AssemblyCompany("")] 12 | [assembly: AssemblyProduct("Retouch Photo.Blends")] 13 | [assembly: AssemblyCopyright("Copyright © 2019")] 14 | [assembly: AssemblyTrademark("")] 15 | [assembly: AssemblyCulture("")] 16 | 17 | // Version information for an assembly consists of the following four values: 18 | // 19 | // Major Version 20 | // Minor Version 21 | // Build Number 22 | // Revision 23 | // 24 | // You can specify all the values or you can default the Build and Revision Numbers 25 | // by using the '*' as shown below: 26 | // [assembly: AssemblyVersion("1.0.*")] 27 | [assembly: AssemblyVersion("1.0.0.0")] 28 | [assembly: AssemblyFileVersion("1.0.0.0")] 29 | [assembly: ComVisible(false)] -------------------------------------------------------------------------------- /Retouch Photo2.Brushs/Properties/AssemblyInfo.cs: -------------------------------------------------------------------------------- 1 | using System.Reflection; 2 | using System.Runtime.CompilerServices; 3 | using System.Runtime.InteropServices; 4 | 5 | // General Information about an assembly is controlled through the following 6 | // set of attributes. Change these attribute values to modify the information 7 | // associated with an assembly. 8 | [assembly: AssemblyTitle("Retouch Photo.Brushs")] 9 | [assembly: AssemblyDescription("")] 10 | [assembly: AssemblyConfiguration("")] 11 | [assembly: AssemblyCompany("")] 12 | [assembly: AssemblyProduct("Retouch Photo.Brushs")] 13 | [assembly: AssemblyCopyright("Copyright © 2019")] 14 | [assembly: AssemblyTrademark("")] 15 | [assembly: AssemblyCulture("")] 16 | 17 | // Version information for an assembly consists of the following four values: 18 | // 19 | // Major Version 20 | // Minor Version 21 | // Build Number 22 | // Revision 23 | // 24 | // You can specify all the values or you can default the Build and Revision Numbers 25 | // by using the '*' as shown below: 26 | // [assembly: AssemblyVersion("1.0.*")] 27 | [assembly: AssemblyVersion("1.0.0.0")] 28 | [assembly: AssemblyFileVersion("1.0.0.0")] 29 | [assembly: ComVisible(false)] -------------------------------------------------------------------------------- /Retouch Photo2.Edits/Properties/AssemblyInfo.cs: -------------------------------------------------------------------------------- 1 | using System.Reflection; 2 | using System.Runtime.CompilerServices; 3 | using System.Runtime.InteropServices; 4 | 5 | // General Information about an assembly is controlled through the following 6 | // set of attributes. Change these attribute values to modify the information 7 | // associated with an assembly. 8 | [assembly: AssemblyTitle("Retouch Photo2.Edits")] 9 | [assembly: AssemblyDescription("")] 10 | [assembly: AssemblyConfiguration("")] 11 | [assembly: AssemblyCompany("")] 12 | [assembly: AssemblyProduct("Retouch Photo2.Edits")] 13 | [assembly: AssemblyCopyright("Copyright © 2020")] 14 | [assembly: AssemblyTrademark("")] 15 | [assembly: AssemblyCulture("")] 16 | 17 | // Version information for an assembly consists of the following four values: 18 | // 19 | // Major Version 20 | // Minor Version 21 | // Build Number 22 | // Revision 23 | // 24 | // You can specify all the values or you can default the Build and Revision Numbers 25 | // by using the '*' as shown below: 26 | // [assembly: AssemblyVersion("1.0.*")] 27 | [assembly: AssemblyVersion("1.0.0.0")] 28 | [assembly: AssemblyFileVersion("1.0.0.0")] 29 | [assembly: ComVisible(false)] -------------------------------------------------------------------------------- /Retouch Photo2.Effects/Properties/AssemblyInfo.cs: -------------------------------------------------------------------------------- 1 | using System.Reflection; 2 | using System.Runtime.CompilerServices; 3 | using System.Runtime.InteropServices; 4 | 5 | // General Information about an assembly is controlled through the following 6 | // set of attributes. Change these attribute values to modify the information 7 | // associated with an assembly. 8 | [assembly: AssemblyTitle("Retouch Photo.Effects")] 9 | [assembly: AssemblyDescription("")] 10 | [assembly: AssemblyConfiguration("")] 11 | [assembly: AssemblyCompany("")] 12 | [assembly: AssemblyProduct("Retouch Photo.Effects")] 13 | [assembly: AssemblyCopyright("Copyright © 2019")] 14 | [assembly: AssemblyTrademark("")] 15 | [assembly: AssemblyCulture("")] 16 | 17 | // Version information for an assembly consists of the following four values: 18 | // 19 | // Major Version 20 | // Minor Version 21 | // Build Number 22 | // Revision 23 | // 24 | // You can specify all the values or you can default the Build and Revision Numbers 25 | // by using the '*' as shown below: 26 | // [assembly: AssemblyVersion("1.0.*")] 27 | [assembly: AssemblyVersion("1.0.0.0")] 28 | [assembly: AssemblyFileVersion("1.0.0.0")] 29 | [assembly: ComVisible(false)] -------------------------------------------------------------------------------- /Retouch Photo2.Layers/Properties/AssemblyInfo.cs: -------------------------------------------------------------------------------- 1 | using System.Reflection; 2 | using System.Runtime.CompilerServices; 3 | using System.Runtime.InteropServices; 4 | 5 | // General Information about an assembly is controlled through the following 6 | // set of attributes. Change these attribute values to modify the information 7 | // associated with an assembly. 8 | [assembly: AssemblyTitle("Retouch Photo2.Layers")] 9 | [assembly: AssemblyDescription("")] 10 | [assembly: AssemblyConfiguration("")] 11 | [assembly: AssemblyCompany("")] 12 | [assembly: AssemblyProduct("Retouch Photo2.Layers")] 13 | [assembly: AssemblyCopyright("Copyright © 2019")] 14 | [assembly: AssemblyTrademark("")] 15 | [assembly: AssemblyCulture("")] 16 | 17 | // Version information for an assembly consists of the following four values: 18 | // 19 | // Major Version 20 | // Minor Version 21 | // Build Number 22 | // Revision 23 | // 24 | // You can specify all the values or you can default the Build and Revision Numbers 25 | // by using the '*' as shown below: 26 | // [assembly: AssemblyVersion("1.0.*")] 27 | [assembly: AssemblyVersion("1.0.0.0")] 28 | [assembly: AssemblyFileVersion("1.0.0.0")] 29 | [assembly: ComVisible(false)] -------------------------------------------------------------------------------- /Retouch Photo2.Photos/Properties/AssemblyInfo.cs: -------------------------------------------------------------------------------- 1 | using System.Reflection; 2 | using System.Runtime.CompilerServices; 3 | using System.Runtime.InteropServices; 4 | 5 | // General Information about an assembly is controlled through the following 6 | // set of attributes. Change these attribute values to modify the information 7 | // associated with an assembly. 8 | [assembly: AssemblyTitle("Retouch Photo2.Photos")] 9 | [assembly: AssemblyDescription("")] 10 | [assembly: AssemblyConfiguration("")] 11 | [assembly: AssemblyCompany("")] 12 | [assembly: AssemblyProduct("Retouch Photo2.Photos")] 13 | [assembly: AssemblyCopyright("Copyright © 2021")] 14 | [assembly: AssemblyTrademark("")] 15 | [assembly: AssemblyCulture("")] 16 | 17 | // Version information for an assembly consists of the following four values: 18 | // 19 | // Major Version 20 | // Minor Version 21 | // Build Number 22 | // Revision 23 | // 24 | // You can specify all the values or you can default the Build and Revision Numbers 25 | // by using the '*' as shown below: 26 | // [assembly: AssemblyVersion("1.0.*")] 27 | [assembly: AssemblyVersion("1.0.0.0")] 28 | [assembly: AssemblyFileVersion("1.0.0.0")] 29 | [assembly: ComVisible(false)] -------------------------------------------------------------------------------- /Retouch Photo2.Styles/Properties/AssemblyInfo.cs: -------------------------------------------------------------------------------- 1 | using System.Reflection; 2 | using System.Runtime.CompilerServices; 3 | using System.Runtime.InteropServices; 4 | 5 | // General Information about an assembly is controlled through the following 6 | // set of attributes. Change these attribute values to modify the information 7 | // associated with an assembly. 8 | [assembly: AssemblyTitle("Retouch Photo2.Styles")] 9 | [assembly: AssemblyDescription("")] 10 | [assembly: AssemblyConfiguration("")] 11 | [assembly: AssemblyCompany("")] 12 | [assembly: AssemblyProduct("Retouch Photo2.Styles")] 13 | [assembly: AssemblyCopyright("Copyright © 2020")] 14 | [assembly: AssemblyTrademark("")] 15 | [assembly: AssemblyCulture("")] 16 | 17 | // Version information for an assembly consists of the following four values: 18 | // 19 | // Major Version 20 | // Minor Version 21 | // Build Number 22 | // Revision 23 | // 24 | // You can specify all the values or you can default the Build and Revision Numbers 25 | // by using the '*' as shown below: 26 | // [assembly: AssemblyVersion("1.0.*")] 27 | [assembly: AssemblyVersion("1.0.0.0")] 28 | [assembly: AssemblyFileVersion("1.0.0.0")] 29 | [assembly: ComVisible(false)] -------------------------------------------------------------------------------- /Retouch Photo2.Texts/Properties/AssemblyInfo.cs: -------------------------------------------------------------------------------- 1 | using System.Reflection; 2 | using System.Runtime.CompilerServices; 3 | using System.Runtime.InteropServices; 4 | 5 | // General Information about an assembly is controlled through the following 6 | // set of attributes. Change these attribute values to modify the information 7 | // associated with an assembly. 8 | [assembly: AssemblyTitle("Retouch Photo2.Texts")] 9 | [assembly: AssemblyDescription("")] 10 | [assembly: AssemblyConfiguration("")] 11 | [assembly: AssemblyCompany("")] 12 | [assembly: AssemblyProduct("Retouch Photo2.Texts")] 13 | [assembly: AssemblyCopyright("Copyright © 2020")] 14 | [assembly: AssemblyTrademark("")] 15 | [assembly: AssemblyCulture("")] 16 | 17 | // Version information for an assembly consists of the following four values: 18 | // 19 | // Major Version 20 | // Minor Version 21 | // Build Number 22 | // Revision 23 | // 24 | // You can specify all the values or you can default the Build and Revision Numbers 25 | // by using the '*' as shown below: 26 | // [assembly: AssemblyVersion("1.0.*")] 27 | [assembly: AssemblyVersion("1.0.0.0")] 28 | [assembly: AssemblyFileVersion("1.0.0.0")] 29 | [assembly: ComVisible(false)] -------------------------------------------------------------------------------- /Retouch Photo2.Tools/Properties/AssemblyInfo.cs: -------------------------------------------------------------------------------- 1 | using System.Reflection; 2 | using System.Runtime.CompilerServices; 3 | using System.Runtime.InteropServices; 4 | 5 | // General Information about an assembly is controlled through the following 6 | // set of attributes. Change these attribute values to modify the information 7 | // associated with an assembly. 8 | [assembly: AssemblyTitle("Retouch Photo2.Tools")] 9 | [assembly: AssemblyDescription("")] 10 | [assembly: AssemblyConfiguration("")] 11 | [assembly: AssemblyCompany("")] 12 | [assembly: AssemblyProduct("Retouch Photo2.Tools")] 13 | [assembly: AssemblyCopyright("Copyright © 2019")] 14 | [assembly: AssemblyTrademark("")] 15 | [assembly: AssemblyCulture("")] 16 | 17 | // Version information for an assembly consists of the following four values: 18 | // 19 | // Major Version 20 | // Minor Version 21 | // Build Number 22 | // Revision 23 | // 24 | // You can specify all the values or you can default the Build and Revision Numbers 25 | // by using the '*' as shown below: 26 | // [assembly: AssemblyVersion("1.0.*")] 27 | [assembly: AssemblyVersion("1.0.0.0")] 28 | [assembly: AssemblyFileVersion("1.0.0.0")] 29 | [assembly: ComVisible(false)] -------------------------------------------------------------------------------- /README-EN.md: -------------------------------------------------------------------------------- 1 | # Retouch-Photo-UWP-2 2 | 3 | ![](ScreenShot/logo.png) 4 | 5 | 6 | Windows 10 app store address: 7 | [Buy Retouch Photo2 - Microsoft Store](https://apps.microsoft.com/detail/9p76zf661496) 8 | 9 | 10 |
11 | 12 | ## Function description 13 | 14 | Vector Graphics Editing Tool, you can transform, fill graphics, support adjustment, effect, blend, brush, geometry, layers. If you think that the AI is too complex might as well try. 15 | 16 | 17 |
18 | 19 | ## Development environment 20 | 21 | |Key|Value| 22 | |:-|:-| 23 | |System requirements| Windows10 Creators Update or upper| 24 | |Development tool|Visual Studio 2017| 25 | |Programing language|C#| 26 | |Display language|Chinese and English| 27 | |Comment language|Chinese| 28 | 29 | 30 |
31 | 32 | ## Deployment instructions 33 | 34 | > Download the whole project, run `Retouch Photo2.sln`, start the project `Retouch Photo2`, and try to see if it works. 35 | 36 | 37 |
38 | 39 | ## Documentation for Retouch-Photo2-UWP. 40 | https://github.com/ysdy44/Retouch-Photo2-UWP-Documentation 41 | 42 | 43 |
44 | 45 | ## Old version 46 | [Retouch-Photo-UWP](https://github.com/ysdy44/Retouch-Photo-UWP) 47 | ...... 48 | 49 | -------------------------------------------------------------------------------- /Retouch Photo2.Elements/Properties/AssemblyInfo.cs: -------------------------------------------------------------------------------- 1 | using System.Reflection; 2 | using System.Runtime.CompilerServices; 3 | using System.Runtime.InteropServices; 4 | 5 | // General Information about an assembly is controlled through the following 6 | // set of attributes. Change these attribute values to modify the information 7 | // associated with an assembly. 8 | [assembly: AssemblyTitle("Retouch_Photo2.Elements")] 9 | [assembly: AssemblyDescription("")] 10 | [assembly: AssemblyConfiguration("")] 11 | [assembly: AssemblyCompany("")] 12 | [assembly: AssemblyProduct("Retouch_Photo2.Elements")] 13 | [assembly: AssemblyCopyright("Copyright © 2019")] 14 | [assembly: AssemblyTrademark("")] 15 | [assembly: AssemblyCulture("")] 16 | 17 | // Version information for an assembly consists of the following four values: 18 | // 19 | // Major Version 20 | // Minor Version 21 | // Build Number 22 | // Revision 23 | // 24 | // You can specify all the values or you can default the Build and Revision Numbers 25 | // by using the '*' as shown below: 26 | // [assembly: AssemblyVersion("1.0.*")] 27 | [assembly: AssemblyVersion("1.0.0.0")] 28 | [assembly: AssemblyFileVersion("1.0.0.0")] 29 | [assembly: ComVisible(false)] -------------------------------------------------------------------------------- /Retouch Photo2.Filters/Properties/AssemblyInfo.cs: -------------------------------------------------------------------------------- 1 | using System.Reflection; 2 | using System.Runtime.CompilerServices; 3 | using System.Runtime.InteropServices; 4 | 5 | // General Information about an assembly is controlled through the following 6 | // set of attributes. Change these attribute values to modify the information 7 | // associated with an assembly. 8 | [assembly: AssemblyTitle("Retouch Photo2.Filters")] 9 | [assembly: AssemblyDescription("")] 10 | [assembly: AssemblyConfiguration("")] 11 | [assembly: AssemblyCompany("")] 12 | [assembly: AssemblyProduct("Retouch Photo2.Filters")] 13 | [assembly: AssemblyCopyright("Copyright © 2020")] 14 | [assembly: AssemblyTrademark("")] 15 | [assembly: AssemblyCulture("")] 16 | 17 | // Version information for an assembly consists of the following four values: 18 | // 19 | // Major Version 20 | // Minor Version 21 | // Build Number 22 | // Revision 23 | // 24 | // You can specify all the values or you can default the Build and Revision Numbers 25 | // by using the '*' as shown below: 26 | // [assembly: AssemblyVersion("1.0.*")] 27 | [assembly: AssemblyVersion("1.0.0.0")] 28 | [assembly: AssemblyFileVersion("1.0.0.0")] 29 | [assembly: ComVisible(false)] -------------------------------------------------------------------------------- /Retouch Photo2.Historys/Properties/AssemblyInfo.cs: -------------------------------------------------------------------------------- 1 | using System.Reflection; 2 | using System.Runtime.CompilerServices; 3 | using System.Runtime.InteropServices; 4 | 5 | // General Information about an assembly is controlled through the following 6 | // set of attributes. Change these attribute values to modify the information 7 | // associated with an assembly. 8 | [assembly: AssemblyTitle("Retouch Photo2.Historys")] 9 | [assembly: AssemblyDescription("")] 10 | [assembly: AssemblyConfiguration("")] 11 | [assembly: AssemblyCompany("")] 12 | [assembly: AssemblyProduct("Retouch Photo2.Historys")] 13 | [assembly: AssemblyCopyright("Copyright © 2020")] 14 | [assembly: AssemblyTrademark("")] 15 | [assembly: AssemblyCulture("")] 16 | 17 | // Version information for an assembly consists of the following four values: 18 | // 19 | // Major Version 20 | // Minor Version 21 | // Build Number 22 | // Revision 23 | // 24 | // You can specify all the values or you can default the Build and Revision Numbers 25 | // by using the '*' as shown below: 26 | // [assembly: AssemblyVersion("1.0.*")] 27 | [assembly: AssemblyVersion("1.0.0.0")] 28 | [assembly: AssemblyFileVersion("1.0.0.0")] 29 | [assembly: ComVisible(false)] -------------------------------------------------------------------------------- /Retouch Photo2.Operates/Properties/AssemblyInfo.cs: -------------------------------------------------------------------------------- 1 | using System.Reflection; 2 | using System.Runtime.CompilerServices; 3 | using System.Runtime.InteropServices; 4 | 5 | // General Information about an assembly is controlled through the following 6 | // set of attributes. Change these attribute values to modify the information 7 | // associated with an assembly. 8 | [assembly: AssemblyTitle("Retouch Photo2.Operates")] 9 | [assembly: AssemblyDescription("")] 10 | [assembly: AssemblyConfiguration("")] 11 | [assembly: AssemblyCompany("")] 12 | [assembly: AssemblyProduct("Retouch Photo2.Operates")] 13 | [assembly: AssemblyCopyright("Copyright © 2019")] 14 | [assembly: AssemblyTrademark("")] 15 | [assembly: AssemblyCulture("")] 16 | 17 | // Version information for an assembly consists of the following four values: 18 | // 19 | // Major Version 20 | // Minor Version 21 | // Build Number 22 | // Revision 23 | // 24 | // You can specify all the values or you can default the Build and Revision Numbers 25 | // by using the '*' as shown below: 26 | // [assembly: AssemblyVersion("1.0.*")] 27 | [assembly: AssemblyVersion("1.0.0.0")] 28 | [assembly: AssemblyFileVersion("1.0.0.0")] 29 | [assembly: ComVisible(false)] -------------------------------------------------------------------------------- /Retouch Photo2.Strokes/Properties/AssemblyInfo.cs: -------------------------------------------------------------------------------- 1 | using System.Reflection; 2 | using System.Runtime.CompilerServices; 3 | using System.Runtime.InteropServices; 4 | 5 | // General Information about an assembly is controlled through the following 6 | // set of attributes. Change these attribute values to modify the information 7 | // associated with an assembly. 8 | [assembly: AssemblyTitle("Retouch Photo2.Strokes")] 9 | [assembly: AssemblyDescription("")] 10 | [assembly: AssemblyConfiguration("")] 11 | [assembly: AssemblyCompany("")] 12 | [assembly: AssemblyProduct("Retouch Photo2.Strokes")] 13 | [assembly: AssemblyCopyright("Copyright © 2020")] 14 | [assembly: AssemblyTrademark("")] 15 | [assembly: AssemblyCulture("")] 16 | 17 | // Version information for an assembly consists of the following four values: 18 | // 19 | // Major Version 20 | // Minor Version 21 | // Build Number 22 | // Revision 23 | // 24 | // You can specify all the values or you can default the Build and Revision Numbers 25 | // by using the '*' as shown below: 26 | // [assembly: AssemblyVersion("1.0.*")] 27 | [assembly: AssemblyVersion("1.0.0.0")] 28 | [assembly: AssemblyFileVersion("1.0.0.0")] 29 | [assembly: ComVisible(false)] -------------------------------------------------------------------------------- /Retouch Photo2/XMLs/FilterOriginal.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | -------------------------------------------------------------------------------- /Retouch Photo2.Adjustment/Properties/AssemblyInfo.cs: -------------------------------------------------------------------------------- 1 | using System.Reflection; 2 | using System.Runtime.CompilerServices; 3 | using System.Runtime.InteropServices; 4 | 5 | // General Information about an assembly is controlled through the following 6 | // set of attributes. Change these attribute values to modify the information 7 | // associated with an assembly. 8 | [assembly: AssemblyTitle("Retouch Photo.Adjustment")] 9 | [assembly: AssemblyDescription("")] 10 | [assembly: AssemblyConfiguration("")] 11 | [assembly: AssemblyCompany("")] 12 | [assembly: AssemblyProduct("Retouch Photo.Adjustment")] 13 | [assembly: AssemblyCopyright("Copyright © 2019")] 14 | [assembly: AssemblyTrademark("")] 15 | [assembly: AssemblyCulture("")] 16 | 17 | // Version information for an assembly consists of the following four values: 18 | // 19 | // Major Version 20 | // Minor Version 21 | // Build Number 22 | // Revision 23 | // 24 | // You can specify all the values or you can default the Build and Revision Numbers 25 | // by using the '*' as shown below: 26 | // [assembly: AssemblyVersion("1.0.*")] 27 | [assembly: AssemblyVersion("1.0.0.0")] 28 | [assembly: AssemblyFileVersion("1.0.0.0")] 29 | [assembly: ComVisible(false)] -------------------------------------------------------------------------------- /Retouch Photo2.ViewModels/Properties/AssemblyInfo.cs: -------------------------------------------------------------------------------- 1 | using System.Reflection; 2 | using System.Runtime.CompilerServices; 3 | using System.Runtime.InteropServices; 4 | 5 | // General Information about an assembly is controlled through the following 6 | // set of attributes. Change these attribute values to modify the information 7 | // associated with an assembly. 8 | [assembly: AssemblyTitle("Retouch Photo2.ViewModels")] 9 | [assembly: AssemblyDescription("")] 10 | [assembly: AssemblyConfiguration("")] 11 | [assembly: AssemblyCompany("")] 12 | [assembly: AssemblyProduct("Retouch Photo2.ViewModels")] 13 | [assembly: AssemblyCopyright("Copyright © 2019")] 14 | [assembly: AssemblyTrademark("")] 15 | [assembly: AssemblyCulture("")] 16 | 17 | // Version information for an assembly consists of the following four values: 18 | // 19 | // Major Version 20 | // Minor Version 21 | // Build Number 22 | // Revision 23 | // 24 | // You can specify all the values or you can default the Build and Revision Numbers 25 | // by using the '*' as shown below: 26 | // [assembly: AssemblyVersion("1.0.*")] 27 | [assembly: AssemblyVersion("1.0.0.0")] 28 | [assembly: AssemblyFileVersion("1.0.0.0")] 29 | [assembly: ComVisible(false)] -------------------------------------------------------------------------------- /Retouch Photo2.Brushs/BrushTypes/Icons/ImageIcon.xaml: -------------------------------------------------------------------------------- 1 | 4 | 5 | 6 | 7 | 8 | 9 | M11.072,0c6.111,0 11.072,4.961 11.072,11.072c0,6.111 -4.961,11.072 -11.072,11.072c-6.111,0 -11.072,-4.961 -11.072,-11.072c0,-6.111 4.961,-11.072 11.072,-11.072Zm8.414,14.47c0.425,-1.05 0.659,-2.197 0.659,-3.398c0,-5.008 -4.066,-9.073 -9.073,-9.073c-5.008,0 -9.073,4.065 -9.073,9.073c0,2.266 0.833,4.339 2.208,5.93l8.156,-8.241c0.184,-0.187 0.436,-0.292 0.699,-0.293c0.263,-0.001 0.515,0.103 0.701,0.289l5.723,5.713Zm-12.395,-8.387c1.107,0 2.006,0.899 2.006,2.006c0,1.108 -0.899,2.007 -2.006,2.007c-1.108,0 -2.007,-0.899 -2.007,-2.007c0,-1.107 0.899,-2.006 2.007,-2.006Z 10 | 11 | 12 | 13 | 14 | 15 | -------------------------------------------------------------------------------- /Retouch Photo2.Operates/TransformIcons/RotateRightIcon.xaml: -------------------------------------------------------------------------------- 1 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | -------------------------------------------------------------------------------- /Retouch Photo2.Adjustment/IAdjustmentPage.cs: -------------------------------------------------------------------------------- 1 | // Core: ★ 2 | // Referenced: ★★★ 3 | // Difficult: 4 | // Only: 5 | // Complete: ★★ 6 | using Windows.UI.Xaml; 7 | using Windows.UI.Xaml.Controls; 8 | 9 | namespace Retouch_Photo2.Adjustments 10 | { 11 | /// 12 | /// 's page. 13 | /// 14 | public interface IAdjustmentPage 15 | { 16 | /// Gets the type. 17 | AdjustmentType Type { get; } 18 | 19 | /// Gets the title. 20 | string Title { get; } 21 | /// Gets the icon. 22 | ControlTemplate Icon { get; } 23 | /// Gets the self. 24 | FrameworkElement Self { get; } 25 | 26 | 27 | /// Gets the adjustment index. 28 | int Index { get; set; } 29 | 30 | /// 31 | /// Reset the 's data. 32 | /// 33 | void Reset(); 34 | /// 35 | /// 's value follows the . 36 | /// 37 | void Follow(); 38 | } 39 | } -------------------------------------------------------------------------------- /Retouch Photo2.Adjustment/Pages/GrayPage.xaml: -------------------------------------------------------------------------------- 1 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | -------------------------------------------------------------------------------- /Retouch Photo2.Adjustment/Icons/HueRotationIcon.xaml: -------------------------------------------------------------------------------- 1 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | -------------------------------------------------------------------------------- /Retouch Photo2.Adjustment/Icons/HighlightsAndShadowsIcon.xaml: -------------------------------------------------------------------------------- 1 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | -------------------------------------------------------------------------------- /Retouch Photo2.Blends/TagTypeExtensions.cs: -------------------------------------------------------------------------------- 1 | // Core: 2 | // Referenced: ★★★ 3 | // Difficult: 4 | // Only: 5 | // Complete: 6 | using Windows.UI; 7 | 8 | namespace Retouch_Photo2.Blends 9 | { 10 | /// 11 | /// Extensions of . 12 | /// 13 | public static class TagTypeExtensions 14 | { 15 | 16 | /// 17 | /// Turn into color. 18 | /// 19 | /// The source tag type. 20 | /// The product color. 21 | public static Color ToColor(this TagType tagType) 22 | { 23 | switch (tagType) 24 | { 25 | case TagType.None: return Colors.Transparent; 26 | case TagType.Red: return Colors.LightCoral; 27 | case TagType.Orange: return Colors.Orange; 28 | case TagType.Yellow: return Colors.Yellow; 29 | case TagType.Green: return Colors.YellowGreen; 30 | case TagType.Blue: return Colors.SkyBlue; 31 | case TagType.Purple: return Colors.Plum; 32 | 33 | default: return Colors.LightGray; 34 | } 35 | } 36 | 37 | } 38 | } -------------------------------------------------------------------------------- /Retouch Photo2.Effects/IEffectPage.cs: -------------------------------------------------------------------------------- 1 | // Core: ★★ 2 | // Referenced: ★★★ 3 | // Difficult: 4 | // Only: ★★★ 5 | // Complete: ★★★ 6 | using Windows.UI.Xaml; 7 | using Windows.UI.Xaml.Controls; 8 | 9 | namespace Retouch_Photo2.Effects 10 | { 11 | /// 12 | /// Page of . 13 | /// 14 | public interface IEffectPage 15 | { 16 | /// Gets the type. 17 | EffectType Type { get; } 18 | 19 | /// Gets the self. 20 | FrameworkElement Self { get; } 21 | 22 | /// 23 | /// Reset the and 's data. 24 | /// 25 | void Reset(); 26 | 27 | void Switch(bool isOn); 28 | /// 29 | /// IsChecked follows the . 30 | /// 31 | /// The effect. 32 | bool FollowButton(Effect effect); 33 | /// 34 | /// 's value follows the . 35 | /// 36 | /// The effect. 37 | void FollowPage(Effect effect); 38 | } 39 | } -------------------------------------------------------------------------------- /Retouch Photo2.Blends/Icons/OverlayIcon.xaml: -------------------------------------------------------------------------------- 1 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 0,10 10,0 12,2 14,0 24,10 14,20 12,18 10,20 11 | 12 | 13 | 14 | 15 | 16 | 0,10 10,0 12,2 4,10 12,18 10,20 17 | 18 | 19 | 20 | 21 | 4,10 12,2 20,10 12,18 22 | 23 | 24 | 25 | 26 | 20,10 12,2 14,0 24,10 14,20 12,18 27 | 28 | 29 | 30 | 31 | 32 | 33 | -------------------------------------------------------------------------------- /Retouch Photo2.Blends/Icons/SubtractIcon.xaml: -------------------------------------------------------------------------------- 1 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 0,10 10,0 12,2 14,0 24,10 14,20 12,18 10,20 11 | 12 | 13 | 14 | 15 | 16 | 0,10 10,0 12,2 4,10 12,18 10,20 17 | 18 | 19 | 20 | 21 | 4,10 12,2 20,10 12,18 22 | 23 | 24 | 25 | 26 | 20,10 12,2 14,0 24,10 14,20 12,18 27 | 28 | 29 | 30 | 31 | 32 | 33 | -------------------------------------------------------------------------------- /Retouch Photo2.Blends/Icons/ColorBurnIcon.xaml: -------------------------------------------------------------------------------- 1 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 0,10 10,0 12,2 14,0 24,10 14,20 12,18 10,20 11 | 12 | 13 | 14 | 15 | 16 | 0,10 10,0 12,2 4,10 12,18 10,20 17 | 18 | 19 | 20 | 21 | 4,10 12,2 20,10 12,18 22 | 23 | 24 | 25 | 26 | 20,10 12,2 14,0 24,10 14,20 12,18 27 | 28 | 29 | 30 | 31 | 32 | 33 | -------------------------------------------------------------------------------- /Retouch Photo2.Blends/Icons/DarkenIcon.xaml: -------------------------------------------------------------------------------- 1 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 0,10 10,0 12,2 14,0 24,10 14,20 12,18 10,20 11 | 12 | 13 | 14 | 15 | 16 | 0,10 10,0 12,2 4,10 12,18 10,20 17 | 18 | 19 | 20 | 21 | 4,10 12,2 20,10 12,18 22 | 23 | 24 | 25 | 26 | 20,10 12,2 14,0 24,10 14,20 12,18 27 | 28 | 29 | 30 | 31 | 32 | 33 | -------------------------------------------------------------------------------- /Retouch Photo2.Blends/Icons/DivisionIcon.xaml: -------------------------------------------------------------------------------- 1 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 0,10 10,0 12,2 14,0 24,10 14,20 12,18 10,20 11 | 12 | 13 | 14 | 15 | 16 | 0,10 10,0 12,2 4,10 12,18 10,20 17 | 18 | 19 | 20 | 21 | 4,10 12,2 20,10 12,18 22 | 23 | 24 | 25 | 26 | 20,10 12,2 14,0 24,10 14,20 12,18 27 | 28 | 29 | 30 | 31 | 32 | 33 | -------------------------------------------------------------------------------- /Retouch Photo2.Blends/Icons/NoneIcon.xaml: -------------------------------------------------------------------------------- 1 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 0,10 10,0 12,2 14,0 24,10 14,20 12,18 10,20 11 | 12 | 13 | 14 | 15 | 16 | 0,10 10,0 12,2 4,10 12,18 10,20 17 | 18 | 19 | 20 | 21 | 4,10 12,2 20,10 12,18 22 | 23 | 24 | 25 | 26 | 20,10 12,2 14,0 24,10 14,20 12,18 27 | 28 | 29 | 30 | 31 | 32 | 33 | -------------------------------------------------------------------------------- /Retouch Photo2.Blends/Icons/ExclusionIcon.xaml: -------------------------------------------------------------------------------- 1 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 0,10 10,0 12,2 14,0 24,10 14,20 12,18 10,20 11 | 12 | 13 | 14 | 15 | 16 | 0,10 10,0 12,2 4,10 12,18 10,20 17 | 18 | 19 | 20 | 21 | 4,10 12,2 20,10 12,18 22 | 23 | 24 | 25 | 26 | 20,10 12,2 14,0 24,10 14,20 12,18 27 | 28 | 29 | 30 | 31 | 32 | 33 | -------------------------------------------------------------------------------- /Retouch Photo2.Blends/Icons/LinearBurnIcon.xaml: -------------------------------------------------------------------------------- 1 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 0,10 10,0 12,2 14,0 24,10 14,20 12,18 10,20 11 | 12 | 13 | 14 | 15 | 16 | 0,10 10,0 12,2 4,10 12,18 10,20 17 | 18 | 19 | 20 | 21 | 4,10 12,2 20,10 12,18 22 | 23 | 24 | 25 | 26 | 20,10 12,2 14,0 24,10 14,20 12,18 27 | 28 | 29 | 30 | 31 | 32 | 33 | -------------------------------------------------------------------------------- /Retouch Photo2.Blends/Icons/MultiplyIcon.xaml: -------------------------------------------------------------------------------- 1 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 0,10 10,0 12,2 14,0 24,10 14,20 12,18 10,20 11 | 12 | 13 | 14 | 15 | 16 | 0,10 10,0 12,2 4,10 12,18 10,20 17 | 18 | 19 | 20 | 21 | 4,10 12,2 20,10 12,18 22 | 23 | 24 | 25 | 26 | 20,10 12,2 14,0 24,10 14,20 12,18 27 | 28 | 29 | 30 | 31 | 32 | 33 | -------------------------------------------------------------------------------- /Retouch Photo2.Blends/Icons/SaturationIcon.xaml: -------------------------------------------------------------------------------- 1 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 0,10 10,0 12,2 14,0 24,10 14,20 12,18 10,20 11 | 12 | 13 | 14 | 15 | 16 | 0,10 10,0 12,2 4,10 12,18 10,20 17 | 18 | 19 | 20 | 21 | 4,10 12,2 20,10 12,18 22 | 23 | 24 | 25 | 26 | 20,10 12,2 14,0 24,10 14,20 12,18 27 | 28 | 29 | 30 | 31 | 32 | 33 | -------------------------------------------------------------------------------- /Retouch Photo2.Tools/Models/NoneTool.cs: -------------------------------------------------------------------------------- 1 | // Core: ★★★ 2 | // Referenced: ★★★ 3 | // Difficult: 4 | // Only: ★★★★ 5 | // Complete: 6 | using Microsoft.Graphics.Canvas; 7 | using System.Numerics; 8 | using Windows.UI.Xaml; 9 | using Windows.UI.Xaml.Controls; 10 | 11 | namespace Retouch_Photo2.Tools.Models 12 | { 13 | /// 14 | /// 's NoneTool. 15 | /// 16 | public class NoneTool : ITool 17 | { 18 | //@Content 19 | public ToolType Type => ToolType.None; 20 | public ControlTemplate Icon { get; set; } 21 | public FrameworkElement Page => null; 22 | public bool IsSelected { get; set; } 23 | public bool IsOpen { get; set; } 24 | 25 | 26 | public void Started(Vector2 startingPoint, Vector2 point) { } 27 | public void Delta(Vector2 startingPoint, Vector2 point) { } 28 | public void Complete(Vector2 startingPoint, Vector2 point, bool isOutNodeDistance) { } 29 | public void Clicke(Vector2 point) { } 30 | 31 | public void Cursor(Vector2 point) { } 32 | 33 | public void Draw(CanvasDrawingSession drawingSession) { } 34 | 35 | public void OnNavigatedTo() { } 36 | public void OnNavigatedFrom() { } 37 | } 38 | } -------------------------------------------------------------------------------- /Retouch Photo2.Blends/Icons/DifferenceIcon.xaml: -------------------------------------------------------------------------------- 1 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 0,10 10,0 12,2 14,0 24,10 14,20 12,18 10,20 11 | 12 | 13 | 14 | 15 | 16 | 0,10 10,0 12,2 4,10 12,18 10,20 17 | 18 | 19 | 20 | 21 | 4,10 12,2 20,10 12,18 22 | 23 | 24 | 25 | 26 | 20,10 12,2 14,0 24,10 14,20 12,18 27 | 28 | 29 | 30 | 31 | 32 | 33 | -------------------------------------------------------------------------------- /Retouch Photo2.Blends/Icons/SoftLightIcon.xaml: -------------------------------------------------------------------------------- 1 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 0,10 10,0 12,2 14,0 24,10 14,20 12,18 10,20 11 | 12 | 13 | 14 | 15 | 16 | 0,10 10,0 12,2 4,10 12,18 10,20 17 | 18 | 19 | 20 | 21 | 4,10 12,2 20,10 12,18 22 | 23 | 24 | 25 | 26 | 20,10 12,2 14,0 24,10 14,20 12,18 27 | 28 | 29 | 30 | 31 | 32 | 33 | -------------------------------------------------------------------------------- /Retouch Photo2.Styles/StyleShowControl.xaml: -------------------------------------------------------------------------------- 1 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 24,0 29.8,18 48,18 33.2,29.6 39.2,48 24,36.4 9.4,48 14.8,29.4 0,18 18,18 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | -------------------------------------------------------------------------------- /Retouch Photo2/Retouch Photo2.Adjustments/InvertPage.xaml: -------------------------------------------------------------------------------- 1 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | -------------------------------------------------------------------------------- /Retouch Photo2.Tools/Models/ViewScaleConverter.cs: -------------------------------------------------------------------------------- 1 | // Core: ★★ 2 | // Referenced: 3 | // Difficult: ★★★★ 4 | // Only: 5 | // Complete: ★★★★★ 6 | namespace Retouch_Photo2.Tools.Models 7 | { 8 | /// 9 | /// Converter of . 10 | /// 11 | public static class ViewScaleConverter 12 | { 13 | /* 14 | [1] y = b/(c-x) 15 | 16 | [2] b = 10 , c = 1 17 | [3] 0.1 (int)(scale * 100.0f); 31 | public static float NumberToScale(int number) => number / 100.0f; 32 | 33 | 34 | // Value 35 | private const double DefultValue = -9; 36 | public const double MinValue = -99; 37 | public const double MaxValue = 0; 38 | 39 | public static double ScaleToValue(float scale) => 1f - 10f / scale; 40 | public static float ValueToScale(double value) => (float)(10f / (1f - value)); 41 | } 42 | } 43 | -------------------------------------------------------------------------------- /Retouch Photo2.Adjustment/AdjustmentType.cs: -------------------------------------------------------------------------------- 1 | // Core: ★ 2 | // Referenced: ★★★ 3 | // Difficult: 4 | // Only: 5 | // Complete: 6 | namespace Retouch_Photo2.Adjustments 7 | { 8 | /// 9 | /// Type of . 10 | /// 11 | public enum AdjustmentType 12 | { 13 | /// Gray. 14 | Gray, 15 | /// Invert. 16 | Invert, 17 | 18 | /// Exposure. 19 | Exposure, 20 | /// Brightness. 21 | Brightness, 22 | /// Saturation. 23 | Saturation, 24 | /// Hue rotation. 25 | HueRotation, 26 | /// Contrast. 27 | Contrast, 28 | /// Temperature. 29 | Temperature, 30 | 31 | /// Highlights and shadows. 32 | HighlightsAndShadows, 33 | /// Gamma transfer. 34 | GammaTransfer, 35 | /// Vignette. 36 | Vignette, 37 | 38 | /// Color matrix. 39 | ColorMatrix, 40 | /// Color match. 41 | ColorMatch, 42 | } 43 | } -------------------------------------------------------------------------------- /Retouch Photo2.Elements/DeviceLayout.cs: -------------------------------------------------------------------------------- 1 | namespace Retouch_Photo2.Elements 2 | { 3 | /// 4 | /// Device layout. 5 | /// 6 | public struct DeviceLayout 7 | { 8 | public static DeviceLayout Default = new DeviceLayout 9 | { 10 | IsAdaptive = true, 11 | PhoneMaxWidth = 600, 12 | PadMaxWidth = 900, 13 | FallBackType = DeviceLayoutType.PC, 14 | }; 15 | 16 | 17 | /// Adapt to screen width. 18 | public bool IsAdaptive; 19 | public int PhoneMaxWidth; 20 | public int PadMaxWidth; 21 | /// Fall back. 22 | public DeviceLayoutType FallBackType; 23 | 24 | 25 | /// 26 | /// Get the actual device type based on width 27 | /// 28 | /// The width. 29 | /// The product . 30 | public DeviceLayoutType GetActualType(double width) 31 | { 32 | if (this.IsAdaptive == false) return this.FallBackType; 33 | 34 | if (width > this.PadMaxWidth) return DeviceLayoutType.PC; 35 | if (width > this.PhoneMaxWidth) return DeviceLayoutType.Pad; 36 | return DeviceLayoutType.Phone; 37 | } 38 | } 39 | } -------------------------------------------------------------------------------- /Retouch Photo2.Blends/Properties/Retouch_Photo2.Blends.rd.xml: -------------------------------------------------------------------------------- 1 | 2 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | -------------------------------------------------------------------------------- /Retouch Photo2.Brushs/Properties/Retouch_Photo2.Brushs.rd.xml: -------------------------------------------------------------------------------- 1 | 2 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | -------------------------------------------------------------------------------- /Retouch Photo2.Edits/Properties/Retouch_Photo2.Edits.rd.xml: -------------------------------------------------------------------------------- 1 | 2 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | -------------------------------------------------------------------------------- /Retouch Photo2.Photos/Properties/Retouch_Photo2.Photos.rd.xml: -------------------------------------------------------------------------------- 1 | 2 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | -------------------------------------------------------------------------------- /Retouch Photo2.Styles/Properties/Retouch_Photo2.Styles.rd.xml: -------------------------------------------------------------------------------- 1 | 2 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | -------------------------------------------------------------------------------- /Retouch Photo2.Texts/Properties/Retouch_Photo2.Texts.rd.xml: -------------------------------------------------------------------------------- 1 | 2 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | --------------------------------------------------------------------------------