A clean and concise, step-by-step, example driven tutorial on how to utilize the Enlightenment Foundation Library (EFL) which will help new developers answer the simple question: Where do I start?
The basics of this project are that I will develop 2-3 applications using EFL, explaining along the way in a step-by-step fashion to outline the many possibilities using EFL.
A color scheme is a matching of colors used when coordinating colors. This application will take an initial color and, according to standard schema (Analogous, Complementary, Triadic, etc) as well as others. It will then produce colors matching this initial color for the chosen schema. This color schemer can be used in a variety of things, from something advanced like graphic design or interface design to something as simple as wanting to know what colors go with what.
The easiest way to generate color schemes is to convert colors into Hue, Saturation and Luminance. The reason for this is that we do not change the Saturation or Luminance when generating schemes, they remain the same. Meaning that we only need to modify the Hue rather than the Red, Green and Blue values, which is a lot more work. We need to list both the RGB and HSL values in any case, so this kills two birds with one stone. Since we only need to modify the hue, and it's already represented in terms of a circle (360 degrees) we can easily figure schemes with simple addition or subtraction of degrees. This process would also be applicable to HSV values. There are also 12 quadrants in the traditional color wheel.
An analagous color schme is a scheme that contains 3 colors. Each color is adjacent, so since we start with an initial color, they are we simply add 30 degrees for the left color and subtract 30 degrees for the other.
A complementary color scheme contains 2 colors, which are directly opposite on the color wheel, therefore, to obtain the complement of our initial color we simply add 180 degrees.
A triadic color scheme contains 3 colors, which if shown on a color wheel, form a triangle. In other words, to get the left and right colors, we add and subtract 120 degrees, respectively.
Unlike a complementary color scheme, a split complementary scheme contains 3 colors. These colors are 1 quadrant to the left and right of the complement of our color. Meaning we simply add and subtract 150 degrees, respectively.
A tetradic color scheme contains 4 colors, and for all intents and purposes it is a rectangle and as such, has 2 possible incomes since we only start with 1 initial color. To obtain the colors for the first outcome, we add 60 degrees for the first color, 180 for the second color and 240 for the third color. In this outcome, the first color is closest to the initial color on the color wheel. In the second outcome, we add 120 degrees for the first color, 180 for the second color and subtract 60 for the third color. In this outcome, the third color is closest to the initial color on the color wheel.
Initial color may be enter via the RGB (Red/Green/Blue) and HSL (Hue/Saturation/Luminance) sliders, typed in as RGB and HSL value, entered using its HEX code or interactively via the actual color wheel.
Users will be able to choose between the following most common schema: Analogous, Complementary, Split Complementary, Tetradic, Monochromatic, as well as a few others.
The produced matches will be displayed in a box, with their corresponding HEX code, as well as their RGB/HSL values in a mouse-over box.
This top "Control" portion of the player is much like the typical media player in terms of functionality. While the functions are fairly straight-forward, the presentation of things will not be run-of-the-mill.
All the buttons, toggles, and sliders will not only be functional, but also "dynamically pretty".
When playing audio, the bottom "Screen" portion will not be visible.
When playing video, the top border of the "Screen" area will slide down, seemingly from behind the "Control" portion and depending on the size of the video, the border will expand or contract laterally. Once the border is the right lateral size, the screen will lower much like a projector screen (albeit faster). Upon pressing the stop button, the process will be reversed. As well, it is my intention to make this fully animated.