Init
This commit is contained in:
commit
d7cbb44d84
|
@ -0,0 +1,25 @@
|
||||||
|
/*
|
||||||
|
* Copyright 2022, Jaidyn Levesque <jadedctrl@teknik.io>
|
||||||
|
* All rights reserved. Distributed under the terms of the MIT license.
|
||||||
|
*/
|
||||||
|
|
||||||
|
#include "ImageControlLook.h"
|
||||||
|
|
||||||
|
|
||||||
|
ImageControlLook::ImageControlLook(image_id id)
|
||||||
|
:
|
||||||
|
HaikuControlLook()
|
||||||
|
{
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
ImageControlLook::~ImageControlLook()
|
||||||
|
{
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
extern "C" BControlLook* (instantiate_control_look)(image_id id)
|
||||||
|
{
|
||||||
|
return new (std::nothrow)ImageControlLook(id);
|
||||||
|
}
|
|
@ -0,0 +1,27 @@
|
||||||
|
/*
|
||||||
|
* Copyright 2022, Jaidyn Levesque <jadedctrl@teknik.io>
|
||||||
|
* Distributed under the terms of the MIT License.
|
||||||
|
* All rights reserved. Distributed under the terms of the MIT license.
|
||||||
|
*/
|
||||||
|
#ifndef IMAGE_CONTROL_LOOK_H
|
||||||
|
#define IMAGE_CONTROL_LOOK_H
|
||||||
|
|
||||||
|
#include <ControlLook.h>
|
||||||
|
#include <HaikuControlLook.h>
|
||||||
|
|
||||||
|
class BBitmap;
|
||||||
|
class BControl;
|
||||||
|
class BGradientLinear;
|
||||||
|
class BView;
|
||||||
|
|
||||||
|
|
||||||
|
using BPrivate::HaikuControlLook;
|
||||||
|
|
||||||
|
|
||||||
|
class ImageControlLook : public HaikuControlLook {
|
||||||
|
public:
|
||||||
|
ImageControlLook(image_id id);
|
||||||
|
virtual ~ImageControlLook();
|
||||||
|
};
|
||||||
|
|
||||||
|
#endif // IMAGE_CONTROL_LOOK_H
|
|
@ -0,0 +1,9 @@
|
||||||
|
resource app_version {
|
||||||
|
major = 1,
|
||||||
|
middle = 0,
|
||||||
|
minor = 0,
|
||||||
|
variety = B_APPV_ALPHA,
|
||||||
|
internal = 0,
|
||||||
|
short_info = "Image Control Look; Rev: 0.0 ",
|
||||||
|
long_info = "A control look for custom image-based themes."
|
||||||
|
};
|
|
@ -0,0 +1,133 @@
|
||||||
|
## Haiku Generic Makefile v2.6 ##
|
||||||
|
|
||||||
|
## Fill in this file to specify the project being created, and the referenced
|
||||||
|
## Makefile-Engine will do all of the hard work for you. This handles any
|
||||||
|
## architecture of Haiku.
|
||||||
|
##
|
||||||
|
## For more information, see:
|
||||||
|
## file:///system/develop/documentation/makefile-engine.html
|
||||||
|
|
||||||
|
# The name of the binary.
|
||||||
|
NAME = ImageControlLook
|
||||||
|
|
||||||
|
# The type of binary, must be one of:
|
||||||
|
# APP: Application
|
||||||
|
# SHARED: Shared library or add-on
|
||||||
|
# STATIC: Static library archive
|
||||||
|
# DRIVER: Kernel driver
|
||||||
|
TYPE = SHARED
|
||||||
|
|
||||||
|
# If you plan to use localization, specify the application's MIME signature.
|
||||||
|
APP_MIME_SIG =
|
||||||
|
|
||||||
|
# The following lines tell Pe and Eddie where the SRCS, RDEFS, and RSRCS are
|
||||||
|
# so that Pe and Eddie can fill them in for you.
|
||||||
|
#%{
|
||||||
|
# @src->@
|
||||||
|
|
||||||
|
# Specify the source files to use. Full paths or paths relative to the
|
||||||
|
# Makefile can be included. All files, regardless of directory, will have
|
||||||
|
# their object files created in the common object directory. Note that this
|
||||||
|
# means this Makefile will not work correctly if two source files with the
|
||||||
|
# same name (source.c or source.cpp) are included from different directories.
|
||||||
|
# Also note that spaces in folder names do not work well with this Makefile.
|
||||||
|
SRCS = ImageControlLook.cpp
|
||||||
|
|
||||||
|
# Specify the resource definition files to use. Full or relative paths can be
|
||||||
|
# used.
|
||||||
|
RDEFS = ImageControlLook.rdef
|
||||||
|
|
||||||
|
# Specify the resource files to use. Full or relative paths can be used.
|
||||||
|
# Both RDEFS and RSRCS can be utilized in the same Makefile.
|
||||||
|
RSRCS =
|
||||||
|
|
||||||
|
# End Pe/Eddie support.
|
||||||
|
# @<-src@
|
||||||
|
#%}
|
||||||
|
|
||||||
|
# Specify libraries to link against.
|
||||||
|
# There are two acceptable forms of library specifications:
|
||||||
|
# - if your library follows the naming pattern of libXXX.so or libXXX.a,
|
||||||
|
# you can simply specify XXX for the library. (e.g. the entry for
|
||||||
|
# "libtracker.so" would be "tracker")
|
||||||
|
#
|
||||||
|
# - for GCC-independent linking of standard C++ libraries, you can use
|
||||||
|
# $(STDCPPLIBS) instead of the raw "stdc++[.r4] [supc++]" library names.
|
||||||
|
#
|
||||||
|
# - if your library does not follow the standard library naming scheme,
|
||||||
|
# you need to specify the path to the library and it's name.
|
||||||
|
# (e.g. for mylib.a, specify "mylib.a" or "path/mylib.a")
|
||||||
|
LIBS = be $(STDCPPLIBS)
|
||||||
|
|
||||||
|
# Specify additional paths to directories following the standard libXXX.so
|
||||||
|
# or libXXX.a naming scheme. You can specify full paths or paths relative
|
||||||
|
# to the Makefile. The paths included are not parsed recursively, so
|
||||||
|
# include all of the paths where libraries must be found. Directories where
|
||||||
|
# source files were specified are automatically included.
|
||||||
|
LIBPATHS =
|
||||||
|
|
||||||
|
# Additional paths to look for system headers. These use the form
|
||||||
|
# "#include <header>". Directories that contain the files in SRCS are
|
||||||
|
# NOT auto-included here.
|
||||||
|
SYSTEM_INCLUDE_PATHS = \
|
||||||
|
$(shell findpaths -e B_FIND_PATH_HEADERS_DIRECTORY private/interface)
|
||||||
|
|
||||||
|
|
||||||
|
# Additional paths paths to look for local headers. These use the form
|
||||||
|
# #include "header". Directories that contain the files in SRCS are
|
||||||
|
# automatically included.
|
||||||
|
LOCAL_INCLUDE_PATHS =
|
||||||
|
|
||||||
|
# Specify the level of optimization that you want. Specify either NONE (O0),
|
||||||
|
# SOME (O1), FULL (O3), or leave blank (for the default optimization level).
|
||||||
|
OPTIMIZE :=
|
||||||
|
|
||||||
|
# Specify the codes for languages you are going to support in this
|
||||||
|
# application. The default "en" one must be provided too. "make catkeys"
|
||||||
|
# will recreate only the "locales/en.catkeys" file. Use it as a template
|
||||||
|
# for creating catkeys for other languages. All localization files must be
|
||||||
|
# placed in the "locales" subdirectory.
|
||||||
|
LOCALES =
|
||||||
|
|
||||||
|
# Specify all the preprocessor symbols to be defined. The symbols will not
|
||||||
|
# have their values set automatically; you must supply the value (if any) to
|
||||||
|
# use. For example, setting DEFINES to "DEBUG=1" will cause the compiler
|
||||||
|
# option "-DDEBUG=1" to be used. Setting DEFINES to "DEBUG" would pass
|
||||||
|
# "-DDEBUG" on the compiler's command line.
|
||||||
|
DEFINES =
|
||||||
|
|
||||||
|
# Specify the warning level. Either NONE (suppress all warnings),
|
||||||
|
# ALL (enable all warnings), or leave blank (enable default warnings).
|
||||||
|
WARNINGS =
|
||||||
|
|
||||||
|
# With image symbols, stack crawls in the debugger are meaningful.
|
||||||
|
# If set to "TRUE", symbols will be created.
|
||||||
|
SYMBOLS :=
|
||||||
|
|
||||||
|
# Includes debug information, which allows the binary to be debugged easily.
|
||||||
|
# If set to "TRUE", debug info will be created.
|
||||||
|
DEBUGGER :=
|
||||||
|
|
||||||
|
# Specify any additional compiler flags to be used.
|
||||||
|
COMPILER_FLAGS =
|
||||||
|
|
||||||
|
# Specify any additional linker flags to be used.
|
||||||
|
LINKER_FLAGS =
|
||||||
|
|
||||||
|
# Specify the version of this binary. Example:
|
||||||
|
# -app 3 4 0 d 0 -short 340 -long "340 "`echo -n -e '\302\251'`"1999 GNU GPL"
|
||||||
|
# This may also be specified in a resource.
|
||||||
|
APP_VERSION :=
|
||||||
|
|
||||||
|
# (Only used when "TYPE" is "DRIVER"). Specify the desired driver install
|
||||||
|
# location in the /dev hierarchy. Example:
|
||||||
|
# DRIVER_PATH = video/usb
|
||||||
|
# will instruct the "driverinstall" rule to place a symlink to your driver's
|
||||||
|
# binary in ~/add-ons/kernel/drivers/dev/video/usb, so that your driver will
|
||||||
|
# appear at /dev/video/usb when loaded. The default is "misc".
|
||||||
|
DRIVER_PATH =
|
||||||
|
|
||||||
|
## Include the Makefile-Engine
|
||||||
|
DEVEL_DIRECTORY := \
|
||||||
|
$(shell findpaths -r "makefile_engine" B_FIND_PATH_DEVELOP_DIRECTORY)
|
||||||
|
include $(DEVEL_DIRECTORY)/etc/makefile-engine
|
|
@ -0,0 +1,81 @@
|
||||||
|
#!/bin/sh
|
||||||
|
#―――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――
|
||||||
|
# Name: cpp_from_h.sh
|
||||||
|
# Desc: A hackish script that will make Haiku-style CPP files from a header
|
||||||
|
# file― in the case that you want to make the skeleton of a class'es
|
||||||
|
# child.
|
||||||
|
# Ended up not using it for the skeleton of ImageControlLook.cpp, but eh.
|
||||||
|
# I've already written it, might as well commit. :P
|
||||||
|
# Date: 2022-06
|
||||||
|
#―――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――
|
||||||
|
|
||||||
|
# If you have garbage in output, this is probably to blame.
|
||||||
|
only_functions() {
|
||||||
|
grep "$(printf '\t')" \
|
||||||
|
| grep -v '^[*#/]' \
|
||||||
|
| grep -v '^ ' \
|
||||||
|
| tr '\t' ' ' \
|
||||||
|
| tr -s ' '
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
collapse_functions() {
|
||||||
|
local child="$1"
|
||||||
|
local parent="$2"
|
||||||
|
|
||||||
|
local OFS="$IFS"
|
||||||
|
IFS="
|
||||||
|
"
|
||||||
|
local type=""
|
||||||
|
local func=""
|
||||||
|
local args=""
|
||||||
|
while read line; do
|
||||||
|
if echo "$line" | grep '(' > /dev/null; then
|
||||||
|
printf '\n\n%s\n%s::%s(%s)\n' "$type" "$child" "$func" "$args" \
|
||||||
|
| tr -s ' '
|
||||||
|
|
||||||
|
printf '{\n\t'
|
||||||
|
if echo "$type" | grep -v "void" > /dev/null; then
|
||||||
|
printf 'return '
|
||||||
|
fi
|
||||||
|
printf '%s::%s(%s);\n}\n' "$parent" "$func" "$args"
|
||||||
|
|
||||||
|
type="$(echo "$line" | sed 's%(.*%%' | awk '{$(NF--)=""; print}')"
|
||||||
|
type="$(echo "$type" | sed 's%virtual %%')"
|
||||||
|
func="$(echo "$line" | sed 's%(.*%%' | sed 's%.* %%')"
|
||||||
|
args="$(echo "$line" | sed 's%.*(%%' | sed 's%);%%')"
|
||||||
|
else
|
||||||
|
args="$args $(echo "$line" | sed 's%);%%')"
|
||||||
|
fi
|
||||||
|
done
|
||||||
|
IFS="$OFS"
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
fold_functions() {
|
||||||
|
# We swap spaces and commas so that `fold` will wrap on commas
|
||||||
|
sed 's%^ %%' \
|
||||||
|
| sed 's% %»%g' \
|
||||||
|
| sed 's%,% %g' \
|
||||||
|
| fold -s --width=98 \
|
||||||
|
| sed 's% %,%g' \
|
||||||
|
| sed 's%»% %g' \
|
||||||
|
| sed 's%^ %\t%' \
|
||||||
|
| sed 's%\t %\t\t%' \
|
||||||
|
| tr -s ' '
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
FILE="$1"
|
||||||
|
CHILD="$2"
|
||||||
|
PARENT="$3"
|
||||||
|
if test -z "$PARENT" -o -z "$CHILD" -o -z "$FILE"; then
|
||||||
|
echo "Usage: $(basename "$0") header_file child_classname parent_classname"
|
||||||
|
exit 2
|
||||||
|
fi
|
||||||
|
|
||||||
|
|
||||||
|
cat "$FILE" \
|
||||||
|
| only_functions \
|
||||||
|
| collapse_functions "$CHILD" "$PARENT" \
|
||||||
|
| fold_functions
|
Reference in New Issue