Added country flags

This commit is contained in:
Mirko Di 2023-03-10 00:22:38 +01:00
parent 839df6dade
commit e712265ba0
163 changed files with 247 additions and 94 deletions

View File

@ -9,6 +9,10 @@ This program is free software: you can redistribute it and/or modify it under th
This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
You should have received a copy of the GNU General Public License along with this program. If not, see <https://www.gnu.org/licenses/>.
---
Flag icons: Copyright (c) 2013 Panayiotis Lipiridis
#+END_QUOTE
* ccvt

View File

@ -2,19 +2,19 @@
#define NK_INCLUDE_STANDARD_IO
#define NK_INCLUDE_STANDARD_VARARGS
#define NK_INCLUDE_DEFAULT_ALLOCATOR
#define NK_INCLUDE_FONT_BAKING
#define NK_IMPLEMENTATION
#define NK_XLIB_IMPLEMENTATION
#define STB_IMAGE_IMPLEMENTATION
#define NK_XLIB_INCLUDE_STB_IMAGE
#include <nuklear.h> // GUI lib
#include "lib/nuklear_xlib.h"
#include "lib/startsWith.h"
#include "lib/dirExists.h"
#include "lib/ccvt.h"
#include "lib/langs.h"
#include "lib/style.c"
#include <nuklear.h> // GUI lib
#include "lib/getUsedImgPath.h"
#include "lib/nuklear_xlib.h"
#include "lib/startsWith.h"
#include "lib/dirExists.h"
#include "lib/langs.h"
#include "lib/style.c"
#include "lib/ccvt.h"
#define DTIME 20
@ -84,23 +84,47 @@ static int lookup (struct nk_context * context, nk_flags event, struct cu
return 0;
}
enum {COMBOBOX, SEARCH};
enum {COMBOBOX, SEARCH} ;
static char * flagPath (char * imgPath, struct currency * currencies, int val, char * path) {
// clear "path"
strcpy(path, "\0" );
// construct flag path
strcat(path, imgPath );
strcat(path, "flags/" );
strcat(path, currencies[val].name);
strcat(path, ".bmp" );
return path;
}
static void searchin (struct nk_context * context, nk_flags event, struct currency * currencies, int currNum, struct nk_vec2 size, int * val, char ** options, char * buffer, int op, char * fieldLabel, char * searchLabel, char * imgPath, struct nk_image flag, char * path) {
static void searchin (struct nk_context * context, nk_flags event, struct currency * currencies, int currNum, struct nk_vec2 size, int * val, char ** options, char * buffer, int op, char * fieldLabel, char * searchLabel) {
nk_layout_row_dynamic (context, ROW_HEIGHT, 1 );
nk_label (context, fieldLabel, NK_TEXT_LEFT );
if (op == COMBOBOX)
nk_combobox (context, (const char **) options, currNum, &*val, 20, size);
else {
*val = lookup (context, event, currencies, currNum,
searchLabel, buffer );
if (op == COMBOBOX) {
nk_layout_row_dynamic(context, ROW_HEIGHT, 2 );
nk_layout_row_dynamic(context, ROW_HEIGHT, 1 );
nk_combobox (context, (const char **) options, currNum, &*val, 20, size);
}
else {
*val = lookup (context, event, currencies, currNum,
searchLabel, buffer );
nk_layout_row_dynamic(context, ROW_HEIGHT, 2 );
nk_text (context, currencies[*val].name, 3,
NK_TEXT_CENTERED );
}
// set flag
flag = nk_xsurf_load_image_from_file(flagPath(imgPath, currencies, *val, path) );
// show flag
nk_image (context, flag );
}
int main() {
@ -132,13 +156,15 @@ int main() {
Button1MotionMask | Button3MotionMask | Button4MotionMask |
Button5MotionMask | PointerMotionMask | KeymapStateMask ;
xw.win = XCreateWindow (xw.dpy, xw.root, 0, 0, WINDOW_WIDTH*2.7, WINDOW_HEIGHT*1.5, 0,
xw.win = XCreateWindow (xw.dpy, xw.root, 0, 0,
WINDOW_WIDTH *2.7,
WINDOW_HEIGHT*1.5, 0,
XDefaultDepth(xw.dpy, xw.screen), InputOutput,
xw.vis, CWEventMask | CWColormap, &xw.swa) ;
XStoreName (xw.dpy, xw.win, PROGRAM_NAME ) ;
XMapWindow (xw.dpy, xw.win ) ;
xw.wm_delete_window = XInternAtom(xw.dpy, "WM_DELETE_WINDOW", False) ;
xw.wm_delete_window = XInternAtom (xw.dpy, "WM_DELETE_WINDOW", False) ;
XSetWMProtocols (xw.dpy, xw.win, &xw.wm_delete_window, 1) ;
XGetWindowAttributes(xw.dpy, xw.win, &xw.attr ) ;
xw.width = (unsigned int) xw.attr.width ;
@ -161,38 +187,32 @@ int main() {
options[i] = currencies[i].name;
// currency pick combobox stuff
static int init = 0 ,
targ = 0 , // selected currencies
temp = 0 ;
struct nk_vec2 size = {140 , // dropdown menu width
400} , // = height
langSize = {100 ,
100} ;
static int init = 0 ,
targ = 0 , // selected currencies
temp = 0 ;
struct nk_vec2 size = {140 , // dropdown menu width
400} , // = height
langSize = {100 ,
100} ;
// other vars
nk_flags event = 0 ;
char out[OUTPUTSIZE] ;
long double result ;
static int op = COMBOBOX ,
lang = ENGLISH ; // default lang
nk_flags event = 0 ;
char out [OUTPUTSIZE ] ;
long double result ;
static int op = COMBOBOX ,
lang = ENGLISH ; // default lang
// images
struct nk_image map ;
char * mapLo = getMapImgPath() ;
char * fName = getMapImgName() ;
char mapP[strlen(mapLo) + strlen(fName)]; // make enough room
// for the full path
struct nk_image map ,
flag = nk_xsurf_load_image_from_file("");
char * imgPa = getUsedImgPath() ;
char * fName = getMapImgName () ;
char mapP [strlen(imgPa) + strlen(fName)] , // make enough room
flagPath[BUFFERSIZE] ;
if (!dirExists(mapLo)) // this probably
// means that the
// program hasn't
// been "installed"
// yet
mapLo="pix/";
strcpy(mapP, mapLo);
strcpy(mapP, imgPa);
strcat(mapP, fName);
map = nk_xsurf_load_image_from_file(mapP);
map = nk_xsurf_load_image_from_file(mapP);
// initialise labels in different languages
initLabels();
@ -224,11 +244,13 @@ int main() {
currNum, size,
&init, options, search,
op,
label[lang].initial, label[lang].search );
labels[lang].initial, labels[lang].search,
imgPa,
flag, flagPath );
nk_layout_row_dynamic(ctx, ROW_HEIGHT, 1 );
nk_label (ctx, label[lang].value, NK_TEXT_LEFT );
nk_label (ctx, labels[lang].value, NK_TEXT_LEFT );
event = textin (ctx, buffer );
nk_group_end (ctx );
@ -237,13 +259,13 @@ int main() {
if (nk_group_begin(ctx, "group2", 0 )) { // group 2
nk_layout_row_dynamic(ctx, ROW_HEIGHT, 2 );
if (nk_option_label(ctx, label[lang].select, op == COMBOBOX)) op = COMBOBOX;
if (nk_option_label(ctx, label[lang].search, op == SEARCH )) op = SEARCH ;
if (nk_option_label(ctx, labels[lang].select, op == COMBOBOX)) op = COMBOBOX;
if (nk_option_label(ctx, labels[lang].search, op == SEARCH )) op = SEARCH ;
nk_layout_row_dynamic(ctx, ROW_HEIGHT + 10, 1 );
// invert button
if (nk_button_label(ctx, label[lang].invert)) {
if (nk_button_label(ctx, labels[lang].invert)) {
if (op == COMBOBOX) {
temp = init;
init = targ;
@ -260,7 +282,7 @@ int main() {
nk_layout_row_dynamic(ctx, ROW_HEIGHT + 10, 1 );
// update eRates button
if (nk_button_label(ctx, label[lang].update )) {
if (nk_button_label(ctx, labels[lang].update )) {
system ("update-eRates.sh" );
currencies = getValues( );
}
@ -269,7 +291,7 @@ int main() {
nk_layout_row_static (ctx, 30, 100, 1 );
nk_label (ctx, label[lang].language, NK_TEXT_LEFT );
nk_label (ctx, labels[lang].language, NK_TEXT_LEFT );
nk_combobox (ctx, languages, sizeof(languages)/sizeof(languages[0]) ,
&lang, 20, langSize );
@ -282,7 +304,9 @@ int main() {
currNum, size,
&targ, options, search1,
op,
label[lang].target, label[lang].search );
labels[lang].target, labels[lang].search,
imgPa,
flag, flagPath );
// convert
result = convert(atof(buffer), currencies[init].name, currencies[targ].name,
@ -294,7 +318,7 @@ int main() {
nk_layout_row_dynamic(ctx, ROW_HEIGHT, 1 );
nk_label (ctx, label[lang].value, NK_TEXT_RIGHT );
nk_label (ctx, labels[lang].value, NK_TEXT_RIGHT );
if (nk_widget_is_hovered(ctx))
nk_tooltip (ctx, out );
nk_text (ctx, out, strlen(out),
@ -305,13 +329,13 @@ int main() {
nk_end (ctx );
}
if (nk_begin(ctx, label[lang].map,
if (nk_begin(ctx, labels[lang].map,
nk_rect(WINDOW_WIDTH + 10, -1, // so that the new window spawns
// right next to the previous
// one
MAP_WIDTH, MAP_HEIGHT + 42 /* title bar */),
NK_WINDOW_MOVABLE | NK_WINDOW_TITLE |
NK_WINDOW_BORDER | NK_WINDOW_NO_SCROLLBAR )) {
MAP_WIDTH, MAP_HEIGHT + 42 /* title bar */),
NK_WINDOW_MOVABLE | NK_WINDOW_TITLE |
NK_WINDOW_BORDER | NK_WINDOW_NO_SCROLLBAR )) {
nk_layout_row_dynamic(ctx, MAP_HEIGHT, 1);
nk_image (ctx, map );

View File

@ -36,4 +36,4 @@ long double convert(long double value, char * init, char * targ, char * launch,
return toEuro(value, init, launch, currencies, currNum, gui) * getExch(targ, launch, currencies, currNum, gui);
}
#endif // CCVT_H_
#endif // CCVT_H_

View File

@ -1,10 +1,27 @@
// Copyright (C) 2022-2023 mirk0dex <mirkodi.eu>
//
// This program is free software: you can redistribute it and/or modify
// it under the terms of the GNU General Public License as published by
// the Free Software Foundation, either version 3 of the License, or
// (at your option) any later version.
//
// This program is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
// GNU General Public License for more details.
//
// You should have received a copy of the GNU General Public License
// along with this program. If not, see <https://www.gnu.org/licenses/>.
// dirExists lib: determine whether specified directory exists or not
#ifndef DIREXISTS_H_
#define DIREXISTS_H_
#include <dirent.h>
int dirExists(char * dirname) {
DIR* dir = opendir(dirname);
DIR * dir = opendir(dirname);
if (dir) {
return 1; // dir exists
} else {
@ -12,4 +29,4 @@ int dirExists(char * dirname) {
}
}
#endif // DIREXISTS_H_
#endif // DIREXISTS_H_

43
lib/fileCount.h Normal file
View File

@ -0,0 +1,43 @@
// Copyright (C) 2022-2023 mirk0dex <mirkodi.eu>
//
// This program is free software: you can redistribute it and/or modify
// it under the terms of the GNU General Public License as published by
// the Free Software Foundation, either version 3 of the License, or
// (at your option) any later version.
//
// This program is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
// GNU General Public License for more details.
//
// You should have received a copy of the GNU General Public License
// along with this program. If not, see <https://www.gnu.org/licenses/>.
// fileCount lib: count files in a directory
#ifndef FILECOUNT_H_
#define FILECOUNT_H_
#include <dirent.h>
#include "../options.h"
#include "dirExists.h"
// thanks to https://stackoverflow.com/users/1891/jay-conrod/users/120338/michiel-buddingh
long int fileCount(char * dirname) {
// vars
long int fileCount = 0 ;
DIR * dir = opendir(dirname);
struct dirent * entry ;
if (dirExists(dirname)) {
while ((entry = readdir(dir)) != NULL)
if (entry -> d_type == DT_REG) // if entry is a regular file
++fileCount;
}
else
return 0 ;
return fileCount;
}
#endif // FILECOUNT_H_

17
lib/getUsedImgPath.h Normal file
View File

@ -0,0 +1,17 @@
#ifndef GETUSEDIMGPATH_H_
#define GETUSEDIMGPATH_H_
#include "dirExists.h"
#include "../options.h"
char * getUsedImgPath() {
char * mapLo = getImgPath ();
if (!dirExists(mapLo)) // this probably means that the program hasn't been
// "installed" yet
mapLo = getAltImgPath();
return mapLo;
}
#endif // GETUSEDIMGPATH_H_

View File

@ -14,43 +14,43 @@ struct label {
char * map ;
};
struct label label [3] ;
struct label labels [3] ;
enum { ENGLISH, ITALIAN, ESPERANTO };
const char * languages[ ] = {"English", "Italiano", "Esperanto"};
void initLabels() {
// english
label[ENGLISH ].invert = "Invert" ;
label[ENGLISH ].search = "Search" ;
label[ENGLISH ].select = "Select" ;
label[ENGLISH ].value = "Value" ;
label[ENGLISH ].update = "Update exch. r.s" ;
label[ENGLISH ].initial = "Initial currency" ;
label[ENGLISH ].target = "Target currency" ;
label[ENGLISH ].language = "Language" ;
label[ENGLISH ].map = "Map" ;
labels[ENGLISH ].invert = "Invert" ;
labels[ENGLISH ].search = "Search" ;
labels[ENGLISH ].select = "Select" ;
labels[ENGLISH ].value = "Value" ;
labels[ENGLISH ].update = "Update exch. r.s" ;
labels[ENGLISH ].initial = "Initial currency" ;
labels[ENGLISH ].target = "Target currency" ;
labels[ENGLISH ].language = "Language" ;
labels[ENGLISH ].map = "Map" ;
// italian
label[ITALIAN ].invert = "Inverti" ;
label[ITALIAN ].search = "Cerca" ;
label[ITALIAN ].select = "Seleziona" ;
label[ITALIAN ].value = "Valore" ;
label[ITALIAN ].update = "Aggiorna val. sc.";
label[ITALIAN ].initial = "Valuta iniziale" ;
label[ITALIAN ].target = "Valuta finale" ;
label[ITALIAN ].language = "Lingua" ;
label[ITALIAN ].map = "Mappa" ;
labels[ITALIAN ].invert = "Inverti" ;
labels[ITALIAN ].search = "Cerca" ;
labels[ITALIAN ].select = "Seleziona" ;
labels[ITALIAN ].value = "Valore" ;
labels[ITALIAN ].update = "Aggiorna val. sc.";
labels[ITALIAN ].initial = "Valuta iniziale" ;
labels[ITALIAN ].target = "Valuta finale" ;
labels[ITALIAN ].language = "Lingua" ;
labels[ITALIAN ].map = "Mappa" ;
// esperanto
label[ESPERANTO].invert = "Inversigi" ;
label[ESPERANTO].search = "Elserchi" ;
label[ESPERANTO].select = "Selekti" ;
label[ESPERANTO].value = "Valoro" ;
label[ESPERANTO].update = "Ghisdatigi kurzojn" ;
label[ESPERANTO].initial = "Komenca valuto" ;
label[ESPERANTO].target = "Cela valuto" ;
label[ESPERANTO].language = "Lingvo" ;
label[ESPERANTO].map = "Mapo" ;
labels[ESPERANTO].invert = "Inversigi" ;
labels[ESPERANTO].search = "Elserchi" ;
labels[ESPERANTO].select = "Selekti" ;
labels[ESPERANTO].value = "Valoro" ;
labels[ESPERANTO].update = "Ghisdatigi kurzojn" ;
labels[ESPERANTO].initial = "Komenca valuto" ;
labels[ESPERANTO].target = "Cela valuto" ;
labels[ESPERANTO].language = "Lingvo" ;
labels[ESPERANTO].map = "Mapo" ;
}
#endif // LANGS_H_

View File

@ -1,7 +1,24 @@
#ifndef STARTSWITH_H_
#define STARTSWITH_H_
// Copyright (C) 2022-2023 mirk0dex <mirkodi.eu>
//
// This program is free software: you can redistribute it and/or modify
// it under the terms of the GNU General Public License as published by
// the Free Software Foundation, either version 3 of the License, or
// (at your option) any later version.
//
// This program is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
// GNU General Public License for more details.
//
// You should have received a copy of the GNU General Public License
// along with this program. If not, see <https://www.gnu.org/licenses/>.
#include <string.h>
// startsWith lib: determine whether a string starts with given substring
#ifndef STARTSWITH_H_
#define STARTSWITH_H_
#include <string.h>
int startsWith(const char * string, const char * startOfString) {
if (strncmp(string, startOfString, strlen(startOfString)) == 0) return 1; // true

View File

@ -39,14 +39,24 @@ char * getERates () {
return eRates;
}
char * getMapImgPath() {
char * getImgPath () {
//// CONFIGURATION ////
char * mapImg = "/usr/share/ccvt/pix/";
char * imgPath = "/usr/share/ccvt/pix/";
///////////////////////
return mapImg;
return imgPath;
}
char * getAltImgPath() {
//// CONFIGURATION ////
char * imgPath = "./pix/";
///////////////////////
return imgPath;
}
char * getMapImgName() {

BIN
pix/flags/AED.bmp Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.7 KiB

BIN
pix/flags/AFN.bmp Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.7 KiB

BIN
pix/flags/ALL.bmp Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.7 KiB

BIN
pix/flags/AMD.bmp Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.7 KiB

BIN
pix/flags/AOA.bmp Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.7 KiB

BIN
pix/flags/ARS.bmp Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.7 KiB

BIN
pix/flags/AUD.bmp Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.7 KiB

BIN
pix/flags/AWG.bmp Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.7 KiB

BIN
pix/flags/AZN.bmp Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.7 KiB

BIN
pix/flags/BAM.bmp Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.7 KiB

BIN
pix/flags/BBD.bmp Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.7 KiB

BIN
pix/flags/BDT.bmp Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.7 KiB

BIN
pix/flags/BGN.bmp Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.7 KiB

BIN
pix/flags/BHD.bmp Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.7 KiB

BIN
pix/flags/BIF.bmp Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.7 KiB

BIN
pix/flags/BMD.bmp Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.7 KiB

BIN
pix/flags/BND.bmp Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.7 KiB

BIN
pix/flags/BOB.bmp Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.7 KiB

BIN
pix/flags/BRL.bmp Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.7 KiB

BIN
pix/flags/BSD.bmp Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.7 KiB

BIN
pix/flags/BTN.bmp Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.7 KiB

BIN
pix/flags/BWP.bmp Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.7 KiB

BIN
pix/flags/BYN.bmp Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.7 KiB

BIN
pix/flags/BZD.bmp Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.7 KiB

BIN
pix/flags/CAD.bmp Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.7 KiB

BIN
pix/flags/CDF.bmp Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.7 KiB

BIN
pix/flags/CHF.bmp Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.7 KiB

BIN
pix/flags/CLP.bmp Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.7 KiB

BIN
pix/flags/CNY.bmp Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.7 KiB

BIN
pix/flags/COP.bmp Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.7 KiB

BIN
pix/flags/CRC.bmp Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.7 KiB

BIN
pix/flags/CUP.bmp Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.7 KiB

BIN
pix/flags/CVE.bmp Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.7 KiB

BIN
pix/flags/CZK.bmp Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.7 KiB

BIN
pix/flags/DJF.bmp Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.7 KiB

BIN
pix/flags/DKK.bmp Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.7 KiB

BIN
pix/flags/DOP.bmp Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.7 KiB

BIN
pix/flags/DZD.bmp Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.7 KiB

BIN
pix/flags/EGP.bmp Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.7 KiB

BIN
pix/flags/ERN.bmp Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.7 KiB

BIN
pix/flags/ETB.bmp Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.7 KiB

BIN
pix/flags/EUR.bmp Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.7 KiB

BIN
pix/flags/FJD.bmp Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.7 KiB

BIN
pix/flags/FKP.bmp Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.7 KiB

BIN
pix/flags/GBP.bmp Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.7 KiB

BIN
pix/flags/GGP.bmp Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.7 KiB

BIN
pix/flags/GHS.bmp Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.7 KiB

BIN
pix/flags/GIP.bmp Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.7 KiB

BIN
pix/flags/GMD.bmp Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.7 KiB

BIN
pix/flags/GNF.bmp Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.7 KiB

BIN
pix/flags/GTQ.bmp Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.7 KiB

BIN
pix/flags/GYD.bmp Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.7 KiB

BIN
pix/flags/HKD.bmp Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.7 KiB

BIN
pix/flags/HNL.bmp Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.7 KiB

BIN
pix/flags/HRK.bmp Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.7 KiB

BIN
pix/flags/HTG.bmp Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.7 KiB

BIN
pix/flags/HUF.bmp Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.7 KiB

BIN
pix/flags/IDR.bmp Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.7 KiB

BIN
pix/flags/ILS.bmp Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.7 KiB

BIN
pix/flags/IMP.bmp Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.7 KiB

BIN
pix/flags/INR.bmp Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.7 KiB

BIN
pix/flags/IQD.bmp Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.7 KiB

BIN
pix/flags/IRR.bmp Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.7 KiB

BIN
pix/flags/ISK.bmp Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.7 KiB

BIN
pix/flags/JEP.bmp Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.7 KiB

BIN
pix/flags/JMD.bmp Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.7 KiB

BIN
pix/flags/JOD.bmp Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.7 KiB

BIN
pix/flags/JPY.bmp Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.7 KiB

BIN
pix/flags/KES.bmp Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.7 KiB

BIN
pix/flags/KGS.bmp Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.7 KiB

BIN
pix/flags/KHR.bmp Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.7 KiB

BIN
pix/flags/KMF.bmp Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.7 KiB

BIN
pix/flags/KPW.bmp Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.7 KiB

BIN
pix/flags/KRW.bmp Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.7 KiB

BIN
pix/flags/KWD.bmp Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.7 KiB

BIN
pix/flags/KYD.bmp Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.7 KiB

BIN
pix/flags/KZT.bmp Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.7 KiB

BIN
pix/flags/LAK.bmp Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.7 KiB

BIN
pix/flags/LBP.bmp Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.7 KiB

21
pix/flags/LICENSE Normal file
View File

@ -0,0 +1,21 @@
The MIT License (MIT)
Copyright (c) 2013 Panayiotis Lipiridis
Permission is hereby granted, free of charge, to any person obtaining a copy of
this software and associated documentation files (the "Software"), to deal in
the Software without restriction, including without limitation the rights to
use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies
of the Software, and to permit persons to whom the Software is furnished to do
so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.

BIN
pix/flags/LKR.bmp Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.7 KiB

BIN
pix/flags/LRD.bmp Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.7 KiB

BIN
pix/flags/LSL.bmp Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.7 KiB

BIN
pix/flags/LYD.bmp Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.7 KiB

BIN
pix/flags/MAD.bmp Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.7 KiB

BIN
pix/flags/MDL.bmp Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.7 KiB

BIN
pix/flags/MGA.bmp Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.7 KiB

BIN
pix/flags/MKD.bmp Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.7 KiB

BIN
pix/flags/MMK.bmp Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.7 KiB

BIN
pix/flags/MNT.bmp Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.7 KiB

BIN
pix/flags/MOP.bmp Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.7 KiB

Some files were not shown because too many files have changed in this diff Show More