1package org.libreoffice;
3import android.content.Context;
4import android.content.res.Resources;
5import android.graphics.Color;
6import androidx.recyclerview.widget.RecyclerView;
7import android.view.LayoutInflater;
8import android.view.View;
9import android.view.ViewGroup;
10import android.widget.ImageButton;
13public class ColorPickerAdapter extends RecyclerView.Adapter<ColorPickerAdapter.ColorPickerViewHolder> {
25 Resources r =
mContext.getResources();
26 this.colorList = r.getIntArray(
R.array.fontcolors);
34 View item = LayoutInflater.from(
mContext).inflate(
R.layout.colorbox, parent,
false);
35 return new ColorPickerViewHolder(item);
45 holder.colorBox.setImageResource(
R.drawable.ic_done_white_12dp);
47 holder.colorBox.setImageDrawable(
null);
50 holder.colorBox.setOnClickListener(
new View.OnClickListener() {
52 public void onClick(View view) {
53 LibreOfficeMainActivity.setDocumentChanged(true);
54 setPosition(holder.getAdapterPosition());
55 colorPaletteListener.applyColor(colorList[holder.getAdapterPosition()]);
62 return colorList.length;
68 colorPaletteListener.applyColor(colorList[
position]);
77 colorPaletteAdapter.changePosition(0, -1);
82 colorPaletteAdapter.setPosition(position1, position2);
87 for (
int i = 0;
i < 11;
i++) {
88 int red =
Color.red(colorList[
i]);
89 int green =
Color.green(colorList[
i]);
90 int blue =
Color.blue(colorList[
i]);
93 int green_tint = green;
97 int green_shade = green;
98 int blue_shade = blue;
100 colorPalette[0][0] = colorList[
i];
101 for (
int k = 1; k < 7; k++) {
102 red_tint = (
int) (red_tint + (255 - red_tint) * 0.25);
103 green_tint = (
int) (green_tint + (255 - green_tint) * 0.25);
104 blue_tint = (
int) (blue_tint + (255 - blue_tint) * 0.25);
105 colorPalette[
i][k] = (
Color.rgb(red_tint, green_tint, blue_tint));
108 colorPalette[
i][3] = colorList[
i];
109 for (
int k = 2; k >= 0; k--) {
110 red_shade = (
int) (red_shade * 0.75);
111 green_shade = (
int) (green_shade * 0.75);
112 blue_shade = (
int) (blue_shade * 0.75);
113 colorPalette[
i][k] = (
Color.rgb(red_shade, green_shade, blue_shade));
115 for (
int k = 4; k < 7; k++) {
116 red_tint = (
int) (red_tint + (255 - red_tint) * 0.45);
117 green_tint = (
int) (green_tint + (255 - green_tint) * 0.45);
118 blue_tint = (
int) (blue_tint + (255 - blue_tint) * 0.45);
119 colorPalette[
i][k] = (
Color.rgb(red_tint, green_tint, blue_tint));
122 colorPalette[
i][7] =
Color.WHITE;
124 colorPaletteAdapter.setColorPalette(colorPalette);
129 for (
int i = 0;
i < 11;
i++) {
130 for (
int k = 0; k < 8; k++) {
131 if (colorPalette[
i][k] ==
color) {
132 colorPaletteAdapter.changePosition(
i, k);
153 class ColorPickerViewHolder
extends RecyclerView.ViewHolder {
155 ImageButton colorBox;
157 public ColorPickerViewHolder(View itemView) {
159 this.colorBox = itemView.findViewById(
R.id.fontColorBox);
int getUpperSelectedBox()
void unselectColors()
Switches to first palette, but doesn't mark any color as selected.
void selectSubColor(int position1, int position2)
ColorPickerAdapter(Context mContext, final ColorPaletteAdapter colorPaletteAdapter, ColorPaletteListener colorPaletteListener)
final int[][] colorPalette
final ColorPaletteListener colorPaletteListener
void initializeColorPalette()
void onBindViewHolder(final ColorPickerViewHolder holder, int position)
void setPosition(int position)
void findSelectedTextColor(int color)
final ColorPaletteAdapter colorPaletteAdapter
ColorPickerViewHolder onCreateViewHolder(ViewGroup parent, int viewType)
Common static LOKit functions, functions to send events.
static Handler getMainHandler()
def run(arg=None, arg2=-1)
const wchar_t *typedef int(__stdcall *DllNativeUnregProc)(int