-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathPlugins.java
More file actions
110 lines (103 loc) · 2.66 KB
/
Plugins.java
File metadata and controls
110 lines (103 loc) · 2.66 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
/**
* Clasa care cuprinde toate tipurile de plugin
* @author claudiu
*
*/
public class Plugins {
/**
* Dubleaza latimea obiectului prin apelarea metodei resize
* @param pr - ModelPrimitiva
*/
public void doubleWidth(ModelPrimitiva pr){
int j = pr.getWidth();
int i = pr.getHeight();
pr.resize(i, j*2);
}
/**
* Dubleaza inaltimea obiectului prin apelarea metodei resize
* @param pr - ModelPrimitiva
*/
public void doubleHeight (ModelPrimitiva pr){
int i = pr.getHeight();
int j = pr.getWidth();
pr.resize(2*i, j);
}
/**
* Realizeaza incadrarea obiectului in toata pagina prin apelarea metodelor move si resize
* @param pr - ModelPrimitiva
* @param p - Pagina
*/
public void maximize(ModelPrimitiva pr , Page p){
int i = p.getHeight();
int j = p.getWidth();
pr.move(0, 0);
pr.resize(i, j);
}
/**
* Realizeaza incadrarea obiectului in centrul paginii in functie de dimensiunea obiectului
* @param pr - ModelPrimitiva
* @param p - Page
*/
public void center(ModelPrimitiva pr, Page p ){
int i1 = pr.getHeight();
int i2 = p.getHeight();
int j1 = pr.getWidth();
int j2 = p.getWidth();
int k = Math.round(i2/2) - Math.round(i1/2);
int l = Math.round(j2/2) - Math.round(j1/2);
pr.move(k, l); //Muta obiectul la coordonatele calculate
}
/**
* Redimensioneaza obiectul astfel incat acesta sa aiba latimea si inaltimea egale cu minimul dintre ele
* Apeleaza metoda resize
* @param pr - ModelPrimitiva
*/
public void makeSquare(ModelPrimitiva pr){
int i = pr.getHeight();
int j = pr.getWidth();
int k;
if (i<=j){
k = i;
}
else k = j;
pr.resize(k,k);
}
/**
* Transforma toate literele mici din corpul obiectului in litere mari
* @param pr - ModelPrimitiva
*/
public void toUpperCase(ModelPrimitiva pr){
int i,j,k;
for (i=pr.getLine();i<pr.getLine()+pr.getHeight();i++){
for (j= pr.getColumn();j<pr.getColumn() + pr.getWidth(); j++){
k = (int) pr.body[i][j];
if (k>=97 && k<=122){//testez daca fiecare caracter este litera mica
k -= 32;//Modific codul ASCII cu -32
}
pr.body[i][j] = (char) k;//Modific body-ul cu litera mare
}
}
if (pr instanceof TextLine){
pr.text = pr.text.toUpperCase();
}
}
/**
* Transforma toate literele mari din interiorul obiectului
* @param pr - ModelPrimitiva
*/
public void toLowerCase(ModelPrimitiva pr){
int i,j,k;
for (i=pr.getLine();i<pr.getLine()+pr.getHeight();i++){
for (j= pr.getColumn();j<pr.getColumn() + pr.getWidth(); j++){
k = (int) pr.body[i][j];
if (k>=65 && k<=90){
k += 32;
}
pr.body[i][j] = (char) k;
}
}
if (pr instanceof TextLine){
pr.text = pr.text.toLowerCase();
}
}
}