├── .gitattributes ├── .gitignore ├── README.md ├── delphi_rounded_corners.pas ├── rcorners_form.dfm ├── rcorners_form.pas ├── rounded_corners_example.dpr ├── rounded_corners_example.dproj └── rounded_corners_example.res /.gitattributes: -------------------------------------------------------------------------------- 1 | # Auto detect text files and perform LF normalization 2 | * text=auto 3 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | # Uncomment these types if you want even more clean repository. But be careful. 2 | # It can make harm to an existing project source. Read explanations below. 3 | # 4 | # Resource files are binaries containing manifest, project icon and version info. 5 | # They can not be viewed as text or compared by diff-tools. Consider replacing them with .rc files. 6 | #*.res 7 | # 8 | # Type library file (binary). In old Delphi versions it should be stored. 9 | # Since Delphi 2009 it is produced from .ridl file and can safely be ignored. 10 | #*.tlb 11 | # 12 | # Diagram Portfolio file. Used by the diagram editor up to Delphi 7. 13 | # Uncomment this if you are not using diagrams or use newer Delphi version. 14 | #*.ddp 15 | # 16 | # Visual LiveBindings file. Added in Delphi XE2. 17 | # Uncomment this if you are not using LiveBindings Designer. 18 | #*.vlb 19 | # 20 | # Deployment Manager configuration file for your project. Added in Delphi XE2. 21 | # Uncomment this if it is not mobile development and you do not use remote debug feature. 22 | #*.deployproj 23 | # 24 | # C++ object files produced when C/C++ Output file generation is configured. 25 | # Uncomment this if you are not using external objects (zlib library for example). 26 | #*.obj 27 | # 28 | 29 | # Delphi compiler-generated binaries (safe to delete) 30 | *.exe 31 | *.dll 32 | *.bpl 33 | *.bpi 34 | *.dcp 35 | *.so 36 | *.apk 37 | *.drc 38 | *.map 39 | *.dres 40 | *.rsm 41 | *.tds 42 | *.dcu 43 | *.lib 44 | *.a 45 | *.o 46 | *.ocx 47 | 48 | # Delphi autogenerated files (duplicated info) 49 | *.cfg 50 | *.hpp 51 | *Resource.rc 52 | 53 | # Delphi local files (user-specific info) 54 | *.local 55 | *.identcache 56 | *.projdata 57 | *.tvsconfig 58 | *.dsk 59 | 60 | # Delphi history and backups 61 | __history/ 62 | __recovery/ 63 | *.~* 64 | 65 | # Castalia statistics file (since XE7 Castalia is distributed with Delphi) 66 | *.stat 67 | 68 | # Boss dependency manager vendor folder https://github.com/HashLoad/boss 69 | modules/ 70 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # Delphi example of how to control Windows 11 Rounded Corners in your apps 2 | 3 | Example app by: Ian Barker - based on an answer in the Delphi 11 launch Q & A 4 | 5 | To accompany blog post: https://blogs.embarcadero.com/how-to-control-windows-11-rounded-corners-in-your-app/ -------------------------------------------------------------------------------- /delphi_rounded_corners.pas: -------------------------------------------------------------------------------- 1 | unit delphi_rounded_corners; 2 | 3 | interface 4 | uses 5 | Winapi.Windows; 6 | 7 | type TRoundedWindowCornerType = (RoundedCornerDefault, RoundedCornerOff, RoundedCornerOn, RoundedCornerSmall); 8 | 9 | //////////////////////////////////////////////////////////////////////////// 10 | // 11 | // Originally written by Ian Barker 12 | // https://github.com/checkdigits 13 | // https://about.me/IanBarker 14 | // ian.barker@gmail.com 15 | // 16 | // Based on an example in an answer during the RAD Studio 11 Launch Q & A 17 | // 18 | // 19 | // Free software - use for any purpose including commercial use. 20 | // 21 | //////////////////////////////////////////////////////////////////////////// 22 | // 23 | // Set or prevent Windows 11 from rounding the corners or your application 24 | // 25 | // Usage: 26 | // SetRoundedCorners(Self.Handle, RoundedCornerSmall); 27 | // 28 | //////////////////////////////////////////////////////////////////////////// 29 | /// 30 | procedure SetRoundedCorners(const TheHandle: HWND; const CornerType: TRoundedWindowCornerType); 31 | 32 | 33 | implementation 34 | uses 35 | Winapi.Dwmapi; 36 | 37 | const 38 | 39 | // 40 | // More information: 41 | // https://docs.microsoft.com/en-us/windows/apps/desktop/modernize/apply-rounded-corners 42 | // https://docs.microsoft.com/en-us/windows/win32/api/dwmapi/ne-dwmapi-dwmwindowattribute 43 | // https://docs.microsoft.com/en-us/windows/win32/api/dwmapi/nf-dwmapi-dwmsetwindowattribute 44 | // 45 | 46 | DWMWCP_DEFAULT = 0; // Let the system decide whether or not to round window corners 47 | DWMWCP_DONOTROUND = 1; // Never round window corners 48 | DWMWCP_ROUND = 2; // Round the corners if appropriate 49 | DWMWCP_ROUNDSMALL = 3; // Round the corners if appropriate, with a small radius 50 | 51 | DWMWA_WINDOW_CORNER_PREFERENCE = 33; // [set] WINDOW_CORNER_PREFERENCE, Controls the policy that rounds top-level window corners 52 | 53 | procedure SetRoundedCorners(const TheHandle: HWND; const CornerType: TRoundedWindowCornerType); 54 | var 55 | DWM_WINDOW_CORNER_PREFERENCE: Cardinal; 56 | begin 57 | case CornerType of 58 | RoundedCornerOff: DWM_WINDOW_CORNER_PREFERENCE := DWMWCP_DONOTROUND; 59 | RoundedCornerOn: DWM_WINDOW_CORNER_PREFERENCE := DWMWCP_ROUND; 60 | RoundedCornerSmall: DWM_WINDOW_CORNER_PREFERENCE := DWMWCP_ROUNDSMALL; 61 | else 62 | DWM_WINDOW_CORNER_PREFERENCE := DWMWCP_DEFAULT; 63 | end; 64 | Winapi.Dwmapi.DwmSetWindowAttribute(TheHandle, DWMWA_WINDOW_CORNER_PREFERENCE, @DWM_WINDOW_CORNER_PREFERENCE, sizeof(DWM_WINDOW_CORNER_PREFERENCE)); 65 | end; 66 | end. 67 | -------------------------------------------------------------------------------- /rcorners_form.dfm: -------------------------------------------------------------------------------- 1 | object Form1: TForm1 2 | Left = 0 3 | Top = 0 4 | Caption = 'Windows 11 rounded corners demo' 5 | ClientHeight = 283 6 | ClientWidth = 430 7 | Color = clBtnFace 8 | Font.Charset = DEFAULT_CHARSET 9 | Font.Color = clWindowText 10 | Font.Height = -13 11 | Font.Name = 'Segoe UI' 12 | Font.Style = [] 13 | OnClose = FormClose 14 | PixelsPerInch = 96 15 | TextHeight = 17 16 | object Label1: TLabel 17 | Left = 15 18 | Top = 8 19 | Width = 400 20 | Height = 51 21 | Caption = 22 | 'This app demonstrates the Windows 11 possible application window' + 23 | ' rounded corner settings. This setting will have no effect on Wi' + 24 | 'ndows 10 or older.' 25 | WordWrap = True 26 | end 27 | object Button1: TButton 28 | Left = 287 29 | Top = 116 30 | Width = 137 31 | Height = 57 32 | Caption = 'Update form corners' 33 | TabOrder = 0 34 | OnClick = Button1Click 35 | end 36 | object RadioGroup1: TRadioGroup 37 | Left = 8 38 | Top = 111 39 | Width = 273 40 | Height = 169 41 | Caption = 'What kind of corners do you want?' 42 | ItemIndex = 0 43 | Items.Strings = ( 44 | 'Default behavior' 45 | 'Turn off rounded corners' 46 | 'Turn on rounded corners' 47 | 'Turn on '#39'small'#39' rounded corners') 48 | TabOrder = 1 49 | end 50 | object NotificationCenter1: TNotificationCenter 51 | Left = 344 52 | Top = 192 53 | end 54 | end 55 | -------------------------------------------------------------------------------- /rcorners_form.pas: -------------------------------------------------------------------------------- 1 | unit rcorners_form; 2 | 3 | interface 4 | 5 | uses 6 | Winapi.Windows, Winapi.Messages, System.SysUtils, System.Variants, System.Classes, Vcl.Graphics, 7 | Vcl.Controls, Vcl.Forms, Vcl.Dialogs, Vcl.StdCtrls, Vcl.ExtCtrls, 8 | System.Notification; 9 | 10 | type 11 | TForm1 = class(TForm) 12 | Button1: TButton; 13 | RadioGroup1: TRadioGroup; 14 | Label1: TLabel; 15 | NotificationCenter1: TNotificationCenter; 16 | procedure Button1Click(Sender: TObject); 17 | procedure FormClose(Sender: TObject; var Action: TCloseAction); 18 | end; 19 | 20 | var 21 | Form1: TForm1; 22 | 23 | implementation 24 | 25 | {$R *.dfm} 26 | 27 | uses delphi_rounded_corners; 28 | 29 | procedure TForm1.Button1Click(Sender: TObject); 30 | var 31 | MyNot: TNotification; 32 | begin 33 | SetRoundedCorners(Self.Handle, TRoundedWindowCornerType(RadioGroup1.ItemIndex)); 34 | if NotificationCenter1.Supported then 35 | begin 36 | MyNot := NotificationCenter1.CreateNotification('Rounder Corners Demo', 37 | 'Corners set to ' + RadioGroup1.Items[RadioGroup1.ItemIndex].ToLower + '.', 38 | Now); 39 | MyNot.Title := 'Rounded Corner Test'; 40 | MyNot.ChannelId := 'RoundedCornerTest'; 41 | NotificationCenter1.PresentNotification(MyNot); 42 | end; 43 | end; 44 | 45 | procedure TForm1.FormClose(Sender: TObject; var Action: TCloseAction); 46 | begin 47 | NotificationCenter1.CancelAll; 48 | end; 49 | 50 | end. 51 | -------------------------------------------------------------------------------- /rounded_corners_example.dpr: -------------------------------------------------------------------------------- 1 | program rounded_corners_example; 2 | 3 | uses 4 | Vcl.Forms, 5 | rcorners_form in 'rcorners_form.pas' {Form1}, 6 | delphi_rounded_corners in 'delphi_rounded_corners.pas'; 7 | 8 | {$R *.res} 9 | 10 | begin 11 | Application.Initialize; 12 | Application.MainFormOnTaskbar := True; 13 | Application.Title := 'Rounded corners test'; 14 | Application.CreateForm(TForm1, Form1); 15 | Application.Run; 16 | end. 17 | -------------------------------------------------------------------------------- /rounded_corners_example.dproj: -------------------------------------------------------------------------------- 1 |  2 | 3 | {12DE34E5-CC5F-4699-ACF7-E351B328F844} 4 | 19.3 5 | VCL 6 | True 7 | Debug 8 | Win32 9 | 1 10 | Application 11 | rounded_corners_example.dpr 12 | 13 | 14 | true 15 | 16 | 17 | true 18 | Base 19 | true 20 | 21 | 22 | true 23 | Base 24 | true 25 | 26 | 27 | true 28 | Base 29 | true 30 | 31 | 32 | true 33 | Cfg_1 34 | true 35 | true 36 | 37 | 38 | true 39 | Base 40 | true 41 | 42 | 43 | true 44 | Cfg_2 45 | true 46 | true 47 | 48 | 49 | .\$(Platform)\$(Config) 50 | .\$(Platform)\$(Config) 51 | false 52 | false 53 | false 54 | false 55 | false 56 | System;Xml;Data;Datasnap;Web;Soap;Vcl;Vcl.Imaging;Vcl.Touch;Vcl.Samples;Vcl.Shell;$(DCC_Namespace) 57 | $(BDS)\bin\delphi_PROJECTICON.ico 58 | $(BDS)\bin\Artwork\Windows\UWP\delphi_UwpDefault_44.png 59 | $(BDS)\bin\Artwork\Windows\UWP\delphi_UwpDefault_150.png 60 | rounded_corners_example 61 | 62 | 63 | RaizeComponentsVcl;vclwinx;DataSnapServer;fmx;emshosting;vclie;DbxCommonDriver;bindengine;IndyIPCommon;VCLRESTComponents;DBXMSSQLDriver;FireDACCommonODBC;emsclient;FireDACCommonDriver;appanalytics;IndyProtocols;vclx;IndyIPClient;dbxcds;vcledge;bindcompvclwinx;FmxTeeUI;emsedge;bindcompfmx;DBXFirebirdDriver;inetdb;FireDACSqliteDriver;DbxClientDriver;FireDACASADriver;Tee;soapmidas;vclactnband;TeeUI;fmxFireDAC;dbexpress;FireDACInfxDriver;DBXMySQLDriver;VclSmp;inet;DataSnapCommon;vcltouch;fmxase;DBXOdbcDriver;dbrtl;FireDACDBXDriver;FireDACOracleDriver;fmxdae;TeeDB;FireDACMSAccDriver;CustomIPTransport;FireDACMSSQLDriver;DataSnapIndy10ServerTransport;DataSnapConnectors;vcldsnap;DBXInterBaseDriver;FireDACMongoDBDriver;IndySystem;FireDACTDataDriver;vcldb;vclFireDAC;bindcomp;FireDACCommon;DataSnapServerMidas;FireDACODBCDriver;emsserverresource;IndyCore;RESTBackendComponents;bindcompdbx;rtl;FireDACMySQLDriver;FireDACADSDriver;RaizeComponentsVclDb;RESTComponents;DBXSqliteDriver;vcl;IndyIPServer;dsnapxml;dsnapcon;DataSnapClient;DataSnapProviderClient;adortl;DBXSybaseASEDriver;DBXDb2Driver;vclimg;DataSnapFireDAC;emsclientfiredac;FireDACPgDriver;FireDAC;FireDACDSDriver;inetdbxpress;xmlrtl;tethering;bindcompvcl;dsnap;CloudService;DBXSybaseASADriver;DBXOracleDriver;FireDACDb2Driver;DBXInformixDriver;fmxobj;bindcompvclsmp;DataSnapNativeClient;FMXTee;DatasnapConnectorsFreePascal;soaprtl;soapserver;FireDACIBDriver;$(DCC_UsePackage) 64 | Winapi;System.Win;Data.Win;Datasnap.Win;Web.Win;Soap.Win;Xml.Win;Bde;$(DCC_Namespace) 65 | Debug 66 | true 67 | CompanyName=;FileDescription=$(MSBuildProjectName);FileVersion=1.0.0.0;InternalName=;LegalCopyright=;LegalTrademarks=;OriginalFilename=;ProgramID=com.embarcadero.$(MSBuildProjectName);ProductName=$(MSBuildProjectName);ProductVersion=1.0.0.0;Comments= 68 | 1033 69 | $(BDS)\bin\default_app.manifest 70 | 71 | 72 | RaizeComponentsVcl;vclwinx;DataSnapServer;fmx;emshosting;vclie;DbxCommonDriver;bindengine;IndyIPCommon;VCLRESTComponents;DBXMSSQLDriver;FireDACCommonODBC;emsclient;FireDACCommonDriver;appanalytics;IndyProtocols;vclx;IndyIPClient;dbxcds;vcledge;bindcompvclwinx;FmxTeeUI;emsedge;bindcompfmx;DBXFirebirdDriver;inetdb;FireDACSqliteDriver;DbxClientDriver;FireDACASADriver;Tee;soapmidas;vclactnband;TeeUI;fmxFireDAC;dbexpress;FireDACInfxDriver;DBXMySQLDriver;VclSmp;inet;DataSnapCommon;vcltouch;fmxase;DBXOdbcDriver;dbrtl;FireDACDBXDriver;FireDACOracleDriver;fmxdae;TeeDB;FireDACMSAccDriver;CustomIPTransport;FireDACMSSQLDriver;DataSnapIndy10ServerTransport;DataSnapConnectors;vcldsnap;DBXInterBaseDriver;FireDACMongoDBDriver;IndySystem;FireDACTDataDriver;vcldb;vclFireDAC;bindcomp;FireDACCommon;DataSnapServerMidas;FireDACODBCDriver;emsserverresource;IndyCore;RESTBackendComponents;bindcompdbx;rtl;FireDACMySQLDriver;FireDACADSDriver;RaizeComponentsVclDb;RESTComponents;DBXSqliteDriver;vcl;IndyIPServer;dsnapxml;dsnapcon;DataSnapClient;DataSnapProviderClient;adortl;DBXSybaseASEDriver;DBXDb2Driver;vclimg;DataSnapFireDAC;emsclientfiredac;FireDACPgDriver;FireDAC;FireDACDSDriver;inetdbxpress;xmlrtl;tethering;bindcompvcl;dsnap;CloudService;DBXSybaseASADriver;DBXOracleDriver;FireDACDb2Driver;DBXInformixDriver;fmxobj;bindcompvclsmp;DataSnapNativeClient;FMXTee;DatasnapConnectorsFreePascal;soaprtl;soapserver;FireDACIBDriver;$(DCC_UsePackage) 73 | 74 | 75 | DEBUG;$(DCC_Define) 76 | true 77 | false 78 | true 79 | true 80 | true 81 | true 82 | true 83 | 84 | 85 | false 86 | true 87 | PerMonitorV2 88 | true 89 | 1033 90 | 91 | 92 | false 93 | RELEASE;$(DCC_Define) 94 | 0 95 | 0 96 | 97 | 98 | true 99 | PerMonitorV2 100 | 101 | 102 | 103 | MainSource 104 | 105 | 106 |
Form1
107 | dfm 108 |
109 | 110 | 111 | Base 112 | 113 | 114 | Cfg_1 115 | Base 116 | 117 | 118 | Cfg_2 119 | Base 120 | 121 |
122 | 123 | Delphi.Personality.12 124 | Application 125 | 126 | 127 | 128 | rounded_corners_example.dpr 129 | 130 | 131 | Microsoft Office 2000 Sample Automation Server Wrapper Components 132 | Microsoft Office XP Sample Automation Server Wrapper Components 133 | Embarcadero C++Builder Office 2000 Servers Package 134 | Embarcadero C++Builder Office XP Servers Package 135 | 136 | 137 | 138 | 139 | 140 | rounded_corners_example.exe 141 | true 142 | 143 | 144 | 145 | 146 | 1 147 | 148 | 149 | Contents\MacOS 150 | 1 151 | 152 | 153 | 0 154 | 155 | 156 | 157 | 158 | classes 159 | 64 160 | 161 | 162 | classes 163 | 64 164 | 165 | 166 | 167 | 168 | res\xml 169 | 1 170 | 171 | 172 | res\xml 173 | 1 174 | 175 | 176 | 177 | 178 | library\lib\armeabi-v7a 179 | 1 180 | 181 | 182 | 183 | 184 | library\lib\armeabi 185 | 1 186 | 187 | 188 | library\lib\armeabi 189 | 1 190 | 191 | 192 | 193 | 194 | library\lib\armeabi-v7a 195 | 1 196 | 197 | 198 | 199 | 200 | library\lib\mips 201 | 1 202 | 203 | 204 | library\lib\mips 205 | 1 206 | 207 | 208 | 209 | 210 | library\lib\armeabi-v7a 211 | 1 212 | 213 | 214 | library\lib\arm64-v8a 215 | 1 216 | 217 | 218 | 219 | 220 | library\lib\armeabi-v7a 221 | 1 222 | 223 | 224 | 225 | 226 | res\drawable 227 | 1 228 | 229 | 230 | res\drawable 231 | 1 232 | 233 | 234 | 235 | 236 | res\values 237 | 1 238 | 239 | 240 | res\values 241 | 1 242 | 243 | 244 | 245 | 246 | res\values-v21 247 | 1 248 | 249 | 250 | res\values-v21 251 | 1 252 | 253 | 254 | 255 | 256 | res\values 257 | 1 258 | 259 | 260 | res\values 261 | 1 262 | 263 | 264 | 265 | 266 | res\drawable 267 | 1 268 | 269 | 270 | res\drawable 271 | 1 272 | 273 | 274 | 275 | 276 | res\drawable-xxhdpi 277 | 1 278 | 279 | 280 | res\drawable-xxhdpi 281 | 1 282 | 283 | 284 | 285 | 286 | res\drawable-xxxhdpi 287 | 1 288 | 289 | 290 | res\drawable-xxxhdpi 291 | 1 292 | 293 | 294 | 295 | 296 | res\drawable-ldpi 297 | 1 298 | 299 | 300 | res\drawable-ldpi 301 | 1 302 | 303 | 304 | 305 | 306 | res\drawable-mdpi 307 | 1 308 | 309 | 310 | res\drawable-mdpi 311 | 1 312 | 313 | 314 | 315 | 316 | res\drawable-hdpi 317 | 1 318 | 319 | 320 | res\drawable-hdpi 321 | 1 322 | 323 | 324 | 325 | 326 | res\drawable-xhdpi 327 | 1 328 | 329 | 330 | res\drawable-xhdpi 331 | 1 332 | 333 | 334 | 335 | 336 | res\drawable-mdpi 337 | 1 338 | 339 | 340 | res\drawable-mdpi 341 | 1 342 | 343 | 344 | 345 | 346 | res\drawable-hdpi 347 | 1 348 | 349 | 350 | res\drawable-hdpi 351 | 1 352 | 353 | 354 | 355 | 356 | res\drawable-xhdpi 357 | 1 358 | 359 | 360 | res\drawable-xhdpi 361 | 1 362 | 363 | 364 | 365 | 366 | res\drawable-xxhdpi 367 | 1 368 | 369 | 370 | res\drawable-xxhdpi 371 | 1 372 | 373 | 374 | 375 | 376 | res\drawable-xxxhdpi 377 | 1 378 | 379 | 380 | res\drawable-xxxhdpi 381 | 1 382 | 383 | 384 | 385 | 386 | res\drawable-small 387 | 1 388 | 389 | 390 | res\drawable-small 391 | 1 392 | 393 | 394 | 395 | 396 | res\drawable-normal 397 | 1 398 | 399 | 400 | res\drawable-normal 401 | 1 402 | 403 | 404 | 405 | 406 | res\drawable-large 407 | 1 408 | 409 | 410 | res\drawable-large 411 | 1 412 | 413 | 414 | 415 | 416 | res\drawable-xlarge 417 | 1 418 | 419 | 420 | res\drawable-xlarge 421 | 1 422 | 423 | 424 | 425 | 426 | res\values 427 | 1 428 | 429 | 430 | res\values 431 | 1 432 | 433 | 434 | 435 | 436 | 1 437 | 438 | 439 | Contents\MacOS 440 | 1 441 | 442 | 443 | 0 444 | 445 | 446 | 447 | 448 | Contents\MacOS 449 | 1 450 | .framework 451 | 452 | 453 | Contents\MacOS 454 | 1 455 | .framework 456 | 457 | 458 | Contents\MacOS 459 | 1 460 | .framework 461 | 462 | 463 | 0 464 | 465 | 466 | 467 | 468 | 1 469 | .dylib 470 | 471 | 472 | 1 473 | .dylib 474 | 475 | 476 | 1 477 | .dylib 478 | 479 | 480 | Contents\MacOS 481 | 1 482 | .dylib 483 | 484 | 485 | Contents\MacOS 486 | 1 487 | .dylib 488 | 489 | 490 | Contents\MacOS 491 | 1 492 | .dylib 493 | 494 | 495 | 0 496 | .dll;.bpl 497 | 498 | 499 | 500 | 501 | 1 502 | .dylib 503 | 504 | 505 | 1 506 | .dylib 507 | 508 | 509 | 1 510 | .dylib 511 | 512 | 513 | Contents\MacOS 514 | 1 515 | .dylib 516 | 517 | 518 | Contents\MacOS 519 | 1 520 | .dylib 521 | 522 | 523 | Contents\MacOS 524 | 1 525 | .dylib 526 | 527 | 528 | 0 529 | .bpl 530 | 531 | 532 | 533 | 534 | 0 535 | 536 | 537 | 0 538 | 539 | 540 | 0 541 | 542 | 543 | 0 544 | 545 | 546 | 0 547 | 548 | 549 | Contents\Resources\StartUp\ 550 | 0 551 | 552 | 553 | Contents\Resources\StartUp\ 554 | 0 555 | 556 | 557 | Contents\Resources\StartUp\ 558 | 0 559 | 560 | 561 | 0 562 | 563 | 564 | 565 | 566 | ..\$(PROJECTNAME).launchscreen\Assets\AppIcon.appiconset 567 | 1 568 | 569 | 570 | 571 | 572 | ..\$(PROJECTNAME).launchscreen\Assets\AppIcon.appiconset 573 | 1 574 | 575 | 576 | ..\$(PROJECTNAME).launchscreen\Assets\AppIcon.appiconset 577 | 1 578 | 579 | 580 | 581 | 582 | ..\$(PROJECTNAME).launchscreen\Assets\AppIcon.appiconset 583 | 1 584 | 585 | 586 | ..\$(PROJECTNAME).launchscreen\Assets\AppIcon.appiconset 587 | 1 588 | 589 | 590 | 591 | 592 | ..\$(PROJECTNAME).launchscreen\Assets\LaunchScreenImage.imageset 593 | 1 594 | 595 | 596 | ..\$(PROJECTNAME).launchscreen\Assets\LaunchScreenImage.imageset 597 | 1 598 | 599 | 600 | 601 | 602 | ..\$(PROJECTNAME).launchscreen\Assets\LaunchScreenImage.imageset 603 | 1 604 | 605 | 606 | ..\$(PROJECTNAME).launchscreen\Assets\LaunchScreenImage.imageset 607 | 1 608 | 609 | 610 | 611 | 612 | ..\$(PROJECTNAME).launchscreen\Assets\AppIcon.appiconset 613 | 1 614 | 615 | 616 | ..\$(PROJECTNAME).launchscreen\Assets\AppIcon.appiconset 617 | 1 618 | 619 | 620 | 621 | 622 | ..\$(PROJECTNAME).launchscreen\Assets\AppIcon.appiconset 623 | 1 624 | 625 | 626 | ..\$(PROJECTNAME).launchscreen\Assets\AppIcon.appiconset 627 | 1 628 | 629 | 630 | 631 | 632 | ..\$(PROJECTNAME).launchscreen\Assets\AppIcon.appiconset 633 | 1 634 | 635 | 636 | ..\$(PROJECTNAME).launchscreen\Assets\AppIcon.appiconset 637 | 1 638 | 639 | 640 | 641 | 642 | ..\$(PROJECTNAME).launchscreen\Assets\AppIcon.appiconset 643 | 1 644 | 645 | 646 | ..\$(PROJECTNAME).launchscreen\Assets\AppIcon.appiconset 647 | 1 648 | 649 | 650 | 651 | 652 | ..\$(PROJECTNAME).launchscreen\Assets\AppIcon.appiconset 653 | 1 654 | 655 | 656 | ..\$(PROJECTNAME).launchscreen\Assets\AppIcon.appiconset 657 | 1 658 | 659 | 660 | 661 | 662 | ..\$(PROJECTNAME).launchscreen\Assets\LaunchScreenImage.imageset 663 | 1 664 | 665 | 666 | ..\$(PROJECTNAME).launchscreen\Assets\LaunchScreenImage.imageset 667 | 1 668 | 669 | 670 | 671 | 672 | ..\$(PROJECTNAME).launchscreen\Assets\LaunchScreenImage.imageset 673 | 1 674 | 675 | 676 | ..\$(PROJECTNAME).launchscreen\Assets\LaunchScreenImage.imageset 677 | 1 678 | 679 | 680 | 681 | 682 | ..\$(PROJECTNAME).launchscreen\Assets\LaunchScreenImage.imageset 683 | 1 684 | 685 | 686 | ..\$(PROJECTNAME).launchscreen\Assets\LaunchScreenImage.imageset 687 | 1 688 | 689 | 690 | 691 | 692 | ..\$(PROJECTNAME).launchscreen\Assets\LaunchScreenImage.imageset 693 | 1 694 | 695 | 696 | ..\$(PROJECTNAME).launchscreen\Assets\LaunchScreenImage.imageset 697 | 1 698 | 699 | 700 | 701 | 702 | ..\$(PROJECTNAME).launchscreen\Assets\AppIcon.appiconset 703 | 1 704 | 705 | 706 | ..\$(PROJECTNAME).launchscreen\Assets\AppIcon.appiconset 707 | 1 708 | 709 | 710 | 711 | 712 | ..\$(PROJECTNAME).launchscreen\Assets\AppIcon.appiconset 713 | 1 714 | 715 | 716 | ..\$(PROJECTNAME).launchscreen\Assets\AppIcon.appiconset 717 | 1 718 | 719 | 720 | 721 | 722 | ..\$(PROJECTNAME).launchscreen\Assets\AppIcon.appiconset 723 | 1 724 | 725 | 726 | ..\$(PROJECTNAME).launchscreen\Assets\AppIcon.appiconset 727 | 1 728 | 729 | 730 | 731 | 732 | ..\$(PROJECTNAME).launchscreen\Assets\AppIcon.appiconset 733 | 1 734 | 735 | 736 | ..\$(PROJECTNAME).launchscreen\Assets\AppIcon.appiconset 737 | 1 738 | 739 | 740 | 741 | 742 | ..\$(PROJECTNAME).launchscreen\Assets\AppIcon.appiconset 743 | 1 744 | 745 | 746 | ..\$(PROJECTNAME).launchscreen\Assets\AppIcon.appiconset 747 | 1 748 | 749 | 750 | 751 | 752 | ..\$(PROJECTNAME).launchscreen\Assets\AppIcon.appiconset 753 | 1 754 | 755 | 756 | ..\$(PROJECTNAME).launchscreen\Assets\AppIcon.appiconset 757 | 1 758 | 759 | 760 | 761 | 762 | 1 763 | 764 | 765 | 1 766 | 767 | 768 | 769 | 770 | ..\$(PROJECTNAME).app.dSYM\Contents\Resources\DWARF 771 | 1 772 | 773 | 774 | ..\$(PROJECTNAME).app.dSYM\Contents\Resources\DWARF 775 | 1 776 | 777 | 778 | 779 | 780 | ..\ 781 | 1 782 | 783 | 784 | ..\ 785 | 1 786 | 787 | 788 | 789 | 790 | 1 791 | 792 | 793 | 1 794 | 795 | 796 | 1 797 | 798 | 799 | 800 | 801 | ..\$(PROJECTNAME).launchscreen 802 | 64 803 | 804 | 805 | ..\$(PROJECTNAME).launchscreen 806 | 64 807 | 808 | 809 | 810 | 811 | 1 812 | 813 | 814 | 1 815 | 816 | 817 | 1 818 | 819 | 820 | 821 | 822 | ..\$(PROJECTNAME).app.dSYM\Contents\Resources\DWARF 823 | 1 824 | 825 | 826 | ..\$(PROJECTNAME).app.dSYM\Contents\Resources\DWARF 827 | 1 828 | 829 | 830 | 831 | 832 | ..\ 833 | 1 834 | 835 | 836 | ..\ 837 | 1 838 | 839 | 840 | ..\ 841 | 1 842 | 843 | 844 | 845 | 846 | Contents 847 | 1 848 | 849 | 850 | Contents 851 | 1 852 | 853 | 854 | Contents 855 | 1 856 | 857 | 858 | 859 | 860 | Contents\Resources 861 | 1 862 | 863 | 864 | Contents\Resources 865 | 1 866 | 867 | 868 | Contents\Resources 869 | 1 870 | 871 | 872 | 873 | 874 | library\lib\armeabi-v7a 875 | 1 876 | 877 | 878 | library\lib\arm64-v8a 879 | 1 880 | 881 | 882 | 1 883 | 884 | 885 | 1 886 | 887 | 888 | 1 889 | 890 | 891 | 1 892 | 893 | 894 | Contents\MacOS 895 | 1 896 | 897 | 898 | Contents\MacOS 899 | 1 900 | 901 | 902 | Contents\MacOS 903 | 1 904 | 905 | 906 | 0 907 | 908 | 909 | 910 | 911 | library\lib\armeabi-v7a 912 | 1 913 | 914 | 915 | 916 | 917 | 1 918 | 919 | 920 | 1 921 | 922 | 923 | 924 | 925 | Assets 926 | 1 927 | 928 | 929 | Assets 930 | 1 931 | 932 | 933 | 934 | 935 | Assets 936 | 1 937 | 938 | 939 | Assets 940 | 1 941 | 942 | 943 | 944 | 945 | 946 | 947 | 948 | 949 | 950 | 951 | 952 | 953 | 954 | 955 | 956 | True 957 | False 958 | 959 | 960 | 12 961 | 962 | 963 | 964 | 965 |
966 | -------------------------------------------------------------------------------- /rounded_corners_example.res: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/checkdigits/rounded_corners/66713292c124d9b7b590a344321291ea072fdcc3/rounded_corners_example.res --------------------------------------------------------------------------------