├── .gitignore ├── CODE_OF_CONDUCT.md ├── LICENSE ├── README.md └── uBootstrapIcons.pas /.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 | -------------------------------------------------------------------------------- /CODE_OF_CONDUCT.md: -------------------------------------------------------------------------------- 1 | # Contributor Covenant Code of Conduct 2 | 3 | ## Our Pledge 4 | 5 | We as members, contributors, and leaders pledge to make participation in our 6 | community a harassment-free experience for everyone, regardless of age, body 7 | size, visible or invisible disability, ethnicity, sex characteristics, gender 8 | identity and expression, level of experience, education, socio-economic status, 9 | nationality, personal appearance, race, religion, or sexual identity 10 | and orientation. 11 | 12 | We pledge to act and interact in ways that contribute to an open, welcoming, 13 | diverse, inclusive, and healthy community. 14 | 15 | ## Our Standards 16 | 17 | Examples of behavior that contributes to a positive environment for our 18 | community include: 19 | 20 | * Demonstrating empathy and kindness toward other people 21 | * Being respectful of differing opinions, viewpoints, and experiences 22 | * Giving and gracefully accepting constructive feedback 23 | * Accepting responsibility and apologizing to those affected by our mistakes, 24 | and learning from the experience 25 | * Focusing on what is best not just for us as individuals, but for the 26 | overall community 27 | 28 | Examples of unacceptable behavior include: 29 | 30 | * The use of sexualized language or imagery, and sexual attention or 31 | advances of any kind 32 | * Trolling, insulting or derogatory comments, and personal or political attacks 33 | * Public or private harassment 34 | * Publishing others' private information, such as a physical or email 35 | address, without their explicit permission 36 | * Other conduct which could reasonably be considered inappropriate in a 37 | professional setting 38 | 39 | ## Enforcement Responsibilities 40 | 41 | Community leaders are responsible for clarifying and enforcing our standards of 42 | acceptable behavior and will take appropriate and fair corrective action in 43 | response to any behavior that they deem inappropriate, threatening, offensive, 44 | or harmful. 45 | 46 | Community leaders have the right and responsibility to remove, edit, or reject 47 | comments, commits, code, wiki edits, issues, and other contributions that are 48 | not aligned to this Code of Conduct, and will communicate reasons for moderation 49 | decisions when appropriate. 50 | 51 | ## Scope 52 | 53 | This Code of Conduct applies within all community spaces, and also applies when 54 | an individual is officially representing the community in public spaces. 55 | Examples of representing our community include using an official e-mail address, 56 | posting via an official social media account, or acting as an appointed 57 | representative at an online or offline event. 58 | 59 | ## Enforcement 60 | 61 | Instances of abusive, harassing, or otherwise unacceptable behavior may be 62 | reported to the community leaders responsible for enforcement at 63 | Me@ShaunRoselt.com. 64 | All complaints will be reviewed and investigated promptly and fairly. 65 | 66 | All community leaders are obligated to respect the privacy and security of the 67 | reporter of any incident. 68 | 69 | ## Enforcement Guidelines 70 | 71 | Community leaders will follow these Community Impact Guidelines in determining 72 | the consequences for any action they deem in violation of this Code of Conduct: 73 | 74 | ### 1. Correction 75 | 76 | **Community Impact**: Use of inappropriate language or other behavior deemed 77 | unprofessional or unwelcome in the community. 78 | 79 | **Consequence**: A private, written warning from community leaders, providing 80 | clarity around the nature of the violation and an explanation of why the 81 | behavior was inappropriate. A public apology may be requested. 82 | 83 | ### 2. Warning 84 | 85 | **Community Impact**: A violation through a single incident or series 86 | of actions. 87 | 88 | **Consequence**: A warning with consequences for continued behavior. No 89 | interaction with the people involved, including unsolicited interaction with 90 | those enforcing the Code of Conduct, for a specified period of time. This 91 | includes avoiding interactions in community spaces as well as external channels 92 | like social media. Violating these terms may lead to a temporary or 93 | permanent ban. 94 | 95 | ### 3. Temporary Ban 96 | 97 | **Community Impact**: A serious violation of community standards, including 98 | sustained inappropriate behavior. 99 | 100 | **Consequence**: A temporary ban from any sort of interaction or public 101 | communication with the community for a specified period of time. No public or 102 | private interaction with the people involved, including unsolicited interaction 103 | with those enforcing the Code of Conduct, is allowed during this period. 104 | Violating these terms may lead to a permanent ban. 105 | 106 | ### 4. Permanent Ban 107 | 108 | **Community Impact**: Demonstrating a pattern of violation of community 109 | standards, including sustained inappropriate behavior, harassment of an 110 | individual, or aggression toward or disparagement of classes of individuals. 111 | 112 | **Consequence**: A permanent ban from any sort of public interaction within 113 | the community. 114 | 115 | ## Attribution 116 | 117 | This Code of Conduct is adapted from the [Contributor Covenant][homepage], 118 | version 2.0, available at 119 | https://www.contributor-covenant.org/version/2/0/code_of_conduct.html. 120 | 121 | Community Impact Guidelines were inspired by [Mozilla's code of conduct 122 | enforcement ladder](https://github.com/mozilla/diversity). 123 | 124 | [homepage]: https://www.contributor-covenant.org 125 | 126 | For answers to common questions about this code of conduct, see the FAQ at 127 | https://www.contributor-covenant.org/faq. Translations are available at 128 | https://www.contributor-covenant.org/translations. 129 | -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- 1 | MIT License 2 | 3 | Copyright (c) 2022 Shaun Roselt 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 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # Delphi Bootstrap Icons (.SVG) 2 | 3 | The [Bootstrap Icons library](https://icons.getbootstrap.com/) to use within Delphi. 4 | 5 |

6 | 7 | Bootstrap logo 8 | 9 |

10 |

11 | Open source SVG icon library with over 2,000 icons. 12 |

13 | 14 | [![Bootstrap Icons preview](https://github.com/twbs/icons/blob/main/.github/preview.png)](https://icons.getbootstrap.com) 15 | 16 | 17 | ## Usage 18 | 19 | ### SVG Code 20 | 21 | ```pascal 22 | uses uBootstrapIcons 23 | 24 | ... 25 | 26 | // Returns SVG Code: 27 | var HouseIconSVG := GetBootstrapIcon('house'); 28 | var ValveSteamIconSVG := GetBootstrapIcon('steam'); 29 | var BrushIconSVG := GetBootstrapIcon('brush'); 30 | 31 | // Returns SVG Code with Width/Height set to 24: 32 | var HouseIconSVG := GetBootstrapIcon('house', '24'); 33 | var ValveSteamIconSVG := GetBootstrapIcon('steam', '24'); 34 | var BrushIconSVG := GetBootstrapIcon('brush', '24'); 35 | 36 | // Returns SVG Code with Width/Height set to 24 and color set to purple (#800080): 37 | var HouseIconSVG := GetBootstrapIcon('house', '24', 'purple'); 38 | var ValveSteamIconSVG := GetBootstrapIcon('steam', '24', '#800080'); 39 | var BrushIconSVG := GetBootstrapIcon('brush', '24', 'purple'); 40 | ``` 41 | 42 | ### SVG Path Data 43 | 44 | ```pascal 45 | uses uBootstrapIcons 46 | 47 | ... 48 | 49 | // Returns SVG Path Data Text: 50 | var HouseIconSVGPathData := GetBootstrapIconPathData('house'); 51 | var ValveSteamIconSVGPathData := GetBootstrapIconPathData('steam'); 52 | var BrushIconSVGPathData := GetBootstrapIconPathData('brush'); 53 | 54 | // Returns SVG Path Data Text with Width/Height set to 24: 55 | var HouseIconSVGPathData := GetBootstrapIconPathData('house', '24'); 56 | var ValveSteamIconSVGPathData := GetBootstrapIconPathData('steam', '24'); 57 | var BrushIconSVGPathData := GetBootstrapIconPathData('brush', '24'); 58 | 59 | // Returns SVG Path Data Text with Width/Height set to 24 and color set to purple (#800080): 60 | var HouseIconSVGPathData := GetBootstrapIconPathData('house', '24', 'purple'); 61 | var ValveSteamIconSVGPathData := GetBootstrapIconPathData('steam', '24', '#800080'); 62 | var BrushIconSVGPathData := GetBootstrapIconPathData('brush', '24', 'purple'); 63 | ``` 64 | 65 | ### SVG Base64 Image 66 | 67 | ```pascal 68 | uses uBootstrapIcons 69 | 70 | ... 71 | 72 | // Returns SVG Base64 Image: 73 | var HouseIconSVGBase64 := GetBootstrapIconBase64('house'); 74 | var ValveSteamIconSVGBase64 := GetBootstrapIconBase64('steam'); 75 | var BrushIconSVGBase64 := GetBootstrapIconBase64('brush'); 76 | 77 | // Returns SVG Base64 Image with Width/Height set to 24: 78 | var HouseIconSVGBase64 := GetBootstrapIconBase64('house', '24'); 79 | var ValveSteamIconSVGBase64 := GetBootstrapIconBase64('steam', '24'); 80 | var BrushIconSVGBase64 := GetBootstrapIconBase64('brush', '24'); 81 | 82 | // Returns SVG Base64 Image with Width/Height set to 24 and color set to purple (#800080): 83 | var HouseIconSVGBase64 := GetBootstrapIconBase64('house', '24', 'purple'); 84 | var ValveSteamIconSVGBase64 := GetBootstrapIconBase64('steam', '24', '#800080'); 85 | var BrushIconSVGBase64 := GetBootstrapIconBase64('brush', '24', 'purple'); 86 | ``` 87 | 88 | Other ways to use Bootstrap Icons: [https://icons.getbootstrap.com/#usage](https://icons.getbootstrap.com/#usage) 89 | 90 | ## License 91 | 92 | - Bootstrap Icons are free and open source ([MIT](https://github.com/twbs/icons/blob/main/LICENSE.md)). 93 | 94 | --- 95 | 96 | ## Other Delphi Icon Libraries 97 | - [Font Awesome Icons](https://github.com/shaunroselt/Delphi-Font-Awesome-Icons) 98 | - [Feather Icons](https://github.com/shaunroselt/Delphi-Feather-Icons) 99 | --------------------------------------------------------------------------------