From 7ea3b373ca36a26a78a9b1db30bc36e15a742dc7 Mon Sep 17 00:00:00 2001
From: ekurmakaevMac <ekurmakaev@student.unimelb.edu.au>
Date: Thu, 24 Oct 2019 18:29:53 +1100
Subject: [PATCH] jj

---
 .idea/workspace.xml                           |  26 ++++++++++++++++--
 .../infinitymonkeys/GUI/ChatScreen$1.class    | Bin 3490 -> 3490 bytes
 .../infinitymonkeys/GUI/ChatScreen.class      | Bin 7184 -> 7538 bytes
 .../infinitymonkeys/GUI/DrawingArea$1.class   | Bin 892 -> 892 bytes
 .../infinitymonkeys/GUI/DrawingArea.class     | Bin 9389 -> 9463 bytes
 .../infinitymonkeys/client/ChatUpdate.class   | Bin 2087 -> 2087 bytes
 .../client/DrawingUpdate.class                | Bin 4195 -> 4482 bytes
 .../remote/IDrawingController.class           | Bin 1200 -> 1241 bytes
 .../remote/IDrawingUpdate.class               | Bin 579 -> 643 bytes
 .../server/DrawingController.class            | Bin 7457 -> 7894 bytes
 src/GUI/ChatScreen.form                       |  24 ++++++++++++++--
 src/GUI/ChatScreen.java                       |   7 +++++
 src/GUI/DrawingArea.java                      |   3 ++
 src/client/ChatUpdate.java                    |   1 +
 src/client/DrawingUpdate.java                 |   4 +++
 src/remote/IDrawingController.java            |   1 +
 src/remote/IDrawingUpdate.java                |   1 +
 src/server/DrawingController.java             |  11 ++++++++
 18 files changed, 72 insertions(+), 6 deletions(-)

diff --git a/.idea/workspace.xml b/.idea/workspace.xml
index ce254dd..173f8e2 100644
--- a/.idea/workspace.xml
+++ b/.idea/workspace.xml
@@ -1,7 +1,26 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <project version="4">
   <component name="ChangeListManager">
-    <list default="true" id="7d248efa-573c-4847-b942-df9b4c49b118" name="Default Changelist" comment="" />
+    <list default="true" id="7d248efa-573c-4847-b942-df9b4c49b118" name="Default Changelist" comment="">
+      <change beforePath="$PROJECT_DIR$/.idea/workspace.xml" beforeDir="false" afterPath="$PROJECT_DIR$/.idea/workspace.xml" afterDir="false" />
+      <change beforePath="$PROJECT_DIR$/out/production/infinitymonkeys/GUI/ChatScreen$1.class" beforeDir="false" afterPath="$PROJECT_DIR$/out/production/infinitymonkeys/GUI/ChatScreen$1.class" afterDir="false" />
+      <change beforePath="$PROJECT_DIR$/out/production/infinitymonkeys/GUI/ChatScreen.class" beforeDir="false" afterPath="$PROJECT_DIR$/out/production/infinitymonkeys/GUI/ChatScreen.class" afterDir="false" />
+      <change beforePath="$PROJECT_DIR$/out/production/infinitymonkeys/GUI/DrawingArea$1.class" beforeDir="false" afterPath="$PROJECT_DIR$/out/production/infinitymonkeys/GUI/DrawingArea$1.class" afterDir="false" />
+      <change beforePath="$PROJECT_DIR$/out/production/infinitymonkeys/GUI/DrawingArea.class" beforeDir="false" afterPath="$PROJECT_DIR$/out/production/infinitymonkeys/GUI/DrawingArea.class" afterDir="false" />
+      <change beforePath="$PROJECT_DIR$/out/production/infinitymonkeys/client/ChatUpdate.class" beforeDir="false" afterPath="$PROJECT_DIR$/out/production/infinitymonkeys/client/ChatUpdate.class" afterDir="false" />
+      <change beforePath="$PROJECT_DIR$/out/production/infinitymonkeys/client/DrawingUpdate.class" beforeDir="false" afterPath="$PROJECT_DIR$/out/production/infinitymonkeys/client/DrawingUpdate.class" afterDir="false" />
+      <change beforePath="$PROJECT_DIR$/out/production/infinitymonkeys/remote/IDrawingController.class" beforeDir="false" afterPath="$PROJECT_DIR$/out/production/infinitymonkeys/remote/IDrawingController.class" afterDir="false" />
+      <change beforePath="$PROJECT_DIR$/out/production/infinitymonkeys/remote/IDrawingUpdate.class" beforeDir="false" afterPath="$PROJECT_DIR$/out/production/infinitymonkeys/remote/IDrawingUpdate.class" afterDir="false" />
+      <change beforePath="$PROJECT_DIR$/out/production/infinitymonkeys/server/DrawingController.class" beforeDir="false" afterPath="$PROJECT_DIR$/out/production/infinitymonkeys/server/DrawingController.class" afterDir="false" />
+      <change beforePath="$PROJECT_DIR$/src/GUI/ChatScreen.form" beforeDir="false" afterPath="$PROJECT_DIR$/src/GUI/ChatScreen.form" afterDir="false" />
+      <change beforePath="$PROJECT_DIR$/src/GUI/ChatScreen.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/GUI/ChatScreen.java" afterDir="false" />
+      <change beforePath="$PROJECT_DIR$/src/GUI/DrawingArea.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/GUI/DrawingArea.java" afterDir="false" />
+      <change beforePath="$PROJECT_DIR$/src/client/ChatUpdate.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/client/ChatUpdate.java" afterDir="false" />
+      <change beforePath="$PROJECT_DIR$/src/client/DrawingUpdate.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/client/DrawingUpdate.java" afterDir="false" />
+      <change beforePath="$PROJECT_DIR$/src/remote/IDrawingController.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/remote/IDrawingController.java" afterDir="false" />
+      <change beforePath="$PROJECT_DIR$/src/remote/IDrawingUpdate.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/remote/IDrawingUpdate.java" afterDir="false" />
+      <change beforePath="$PROJECT_DIR$/src/server/DrawingController.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/server/DrawingController.java" afterDir="false" />
+    </list>
     <option name="EXCLUDED_CONVERTED_TO_IGNORED" value="true" />
     <option name="SHOW_DIALOG" value="false" />
     <option name="HIGHLIGHT_CONFLICTS" value="true" />
@@ -90,8 +109,8 @@
     </list>
     <recent_temporary>
       <list>
-        <item itemvalue="Application.Client" />
         <item itemvalue="Application.Server" />
+        <item itemvalue="Application.Client" />
       </list>
     </recent_temporary>
   </component>
@@ -108,7 +127,8 @@
       <workItem from="1571815157364" duration="1039000" />
       <workItem from="1571816646909" duration="820000" />
       <workItem from="1571818565591" duration="60000" />
-      <workItem from="1571818658517" duration="13772000" />
+      <workItem from="1571818658517" duration="14801000" />
+      <workItem from="1571890808152" duration="6817000" />
     </task>
     <task id="LOCAL-00001" summary="jj">
       <created>1571821705525</created>
diff --git a/out/production/infinitymonkeys/GUI/ChatScreen$1.class b/out/production/infinitymonkeys/GUI/ChatScreen$1.class
index eceaff279a128c359ebcb7c8f89cec6b3d83a9e7..8461a7cc6cc33f074d11922901d9b8bf95f28ebf 100644
GIT binary patch
delta 182
zcmZ1^y-0e)J5I*b&F?vHG1g}=@G)dDNHSzIs50a*7%=2BSTGbaxHA+nL@^XIq%f2+
zR54UC^fS~mOk${En8HxUFq5HyVGcth!zzYmhOG>340{>c8O}0vFkE5iWw_4J#c+e6
zhv5!GAH#iyeulRUlNf$5OlD+bn8wJ*Fr86>VGg4*!%Rk1hS`i-4D%Rul^EtTS~DzS
mbYob|7{aiOF@|9|V;;k5#zKabjKvJA7%LdoZO-DcU<3e^u`pr)

delta 182
zcmZ1^y-0e)J5I*9&F?vHG1ezC@G&GaNHU}_s4}E77%*foSTJNUxHDukL^0$rq%h<&
zR527Y^fOd4OkyZwn8HxOFq5H*VGctz!zzYahOG<@40{<G8O|~^F<fD2XSmML!f=D3
zjo}VM2g7}aPKLJ(Jq$k>dKuXmCNT0bOk`AGn8v8gFqu)6VJf2*!wg1UC5D-d)(mqP
l-5BOFhA=E(jA2;Fn8&b`v5;XgV===L#tMcNo3nT<7y&oKFI@lt

diff --git a/out/production/infinitymonkeys/GUI/ChatScreen.class b/out/production/infinitymonkeys/GUI/ChatScreen.class
index 7cd31eeec5f863b8a5cc3cde1938f47145ce075b..c3e8af93fdc7ad1265732cef6e4fb96669830866 100644
GIT binary patch
literal 7538
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
PP}hKgfgugtY)%INz{LU{

literal 7184
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

diff --git a/out/production/infinitymonkeys/GUI/DrawingArea$1.class b/out/production/infinitymonkeys/GUI/DrawingArea$1.class
index b0b6ced309df67c585262b5d7319efb40f28c19e..87146eee5f81dc6e1f67cf958d25d13c142d6190 100644
GIT binary patch
delta 13
Ucmeyv_J?hQ3^U{7$+FDx04CD}$^ZZW

delta 13
Ucmeyv_J?hQ3^U`S$+FDx04B}^$p8QV

diff --git a/out/production/infinitymonkeys/GUI/DrawingArea.class b/out/production/infinitymonkeys/GUI/DrawingArea.class
index 8f66a7753ac8696ff07d04167778e21eef2c029b..fc15084a93287aa216ab72cefabbf5dc09a90851 100644
GIT binary patch
delta 4525
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

delta 4346
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

diff --git a/out/production/infinitymonkeys/client/ChatUpdate.class b/out/production/infinitymonkeys/client/ChatUpdate.class
index a744ba30c58b4856957d67ba89872ac0f378c60c..ee07cffea239793d2817a346c2d881483e820855 100644
GIT binary patch
delta 31
ncmZ23uv}n6Ejz0ogEE8u<nQd7lUK95vzjm{Gnh{P&Taqzkn0G*

delta 31
ncmZ23uv}n6Ejz0&gEE8O<nQd7lUK95vl=rfGnh>N&Taqzkh2K9

diff --git a/out/production/infinitymonkeys/client/DrawingUpdate.class b/out/production/infinitymonkeys/client/DrawingUpdate.class
index 8e57b9dfaa70a5599502a2b8f80a0df8c68771ea..b9783607ece05565c32f2322ee54b0ccd2433c8e 100644
GIT binary patch
delta 2274
zcmaE?(4<^{>ff$?3=9k=3~#s?^chk(8T1%Zxfs$I(zzHi7&5sSvKX?t7;+eLLEJnp
zhJ1zsE`~yeA}$66hGI^J5{6O`Q3m3cgCr`r7%Ca6I2fuybPWeXEeAs#2SYsvLjy=j
zBRfMA7lSxMGl<gyBI;W?8QK`yIT$*)7&;lcKt^<PG4wF>vNQB?GW0V{01*>GDkpI;
zOy*>m!Y~!YnFdlgot<F@7lQ`FOfH6546{KZbJ!W?axv&I%wuPm&(5%bonaw6!y-lo
zw&a}5)VvZ#27Vt1OWzqRV9m%d@qMM#Vnznxy!?{Pw93%p)FRJfm!ib-%)E3)2GPla
z?7~c%VUv$Bs!YyijNSZ-QG$`BkDX!3WH#mljB_U+XI7~<VOYw;V8md|&ajM!VL8JJ
zc7~Na467JcvooyWVOYzsj-6pW55ooqJ06CO44c>)HuErSVc5#fu#JadJHrkhhMf$%
z*co>7FzjIn;$heeBK9%t=V3U&u#}x)2@k_ThC_@DEdF7RK0FME8ICYAa0a<LhdBDV
z`?xYPusM4MO%7!dXFkesY;rz}q?rlBaUO;f3@3RQPBENjXE?*daF*d5BLkajQDSjw
z3OmDj9)=4bmt17H#LjS;hv5ptRYnHk$%ahAI_wPBco?oT+~#4p!*G{};U2?%Mg~^b
zAje==c7_K$3=bIsco-froaSM8%&>IwUlv6H6NV@33{QC&o-sV<VR*sta<U$)1oJC~
zrIS5bzt{7or<OQpB$fmx7p11=F)|2gX!^K^dg>#@tQi^jP(>IS#M4tt9Ft2j%Tl3H
z0E!Q%{0c?}NexY(ti-a!3jJbG)aZMKq*jzT7NsUyGct%`O7Ik=CNeUxB^DH<=A~@5
zV|&Or*_>km<Lk{gI3_UG>oMpvFfkY~7&0(2FoB|ufq{XYfsw(4!IXiC!Hj`{!Ht25
zfr){EflF&U1EZGqRtBbx3=9lR4CV|B415gC3=9my3@i*H44e$23>FLw3}O(~43-R5
z3?RS-HkFaVnt_3Vg@KX5hJlg6mcfpJ5oCHjgBR3zA+0S8OxqZkw=uA6V_?<Z#=wTK
zh6`+@1cM-hB$5?Ea4Uou>=_&w7#SED92uOT&R)jA!obGBz+eS8mwg)p$2JB|D^^KX
z-E9n9lB_zCEcII$xFuP(Fz{?+;6+o&$Fc_QPca5o1_lOM1|bGH1_=gv1`P%U1`7s7
zuw(2X*1#QO1$7JqgB61_g9F&<Rtzo-uHdk;VsK+{XJBCvV$fjlVDPkOU_}WSF9vUj
z`x!4XurP2kFfb~kIg8VZP1lN@$&5pieH#P+<TKo6E&|&a1ZOh1F`IELXK;{Y7ZL*V
z%~(Ku14(uvVK85f6~tGNWET<v^TpUed;v*zA<=CNf|K2N^y|eW*>*FCM~bqxZD)|!
z#vm!lrn8MfYB>Y<CI)FCnQaWRXl{|)#vp%yLBWbml5G=%;wA>AZ4AniY?3V77{t(2
zLIRT+oM?;~co-NM)EI;q)EN#i=rSB<&||p9pwDopp22|OK7$d%a|RQJ{|u&#TnuK6
zf(+)2pl}AIEDr{DP=LTfno$`R(u~RsJ`BE~kY-e7@MCZQg*2lwgFiz60}EJ3AVUxX
zD}xZDASlck*cgJr>6G&yLjXHN2s=Y4BR@YsKTo}q+)oB}l=ujP$44?GJ{WeO`3yBa
zR)bPJI9V`V`n%ya0|SFJ^QT#D3=9m~h=2!26e!?Tz!Aa5V#XoLv6_Kl@+V#yoN*up
z3S-r63}WC&Q3I1w%Ndx_oP!zAHVi@xwhRRf_6+3=4h(G!jto5vP7M7Ft_;%|+!*FE
zxHBwf@L*WR;LEU$!H=OH9?%RsU;)jr0~XK>J759Lumcv*3_D-}&9H+38qf^OkOEqm
zf$blI1uUR>q~v}wh@k{>I70*^(KC24)Pss41_nfF0LiuLNSP5*8U!&2Fa(1`8dBh3
zmIlZLP9#GV)QU?C%%DWU;JKSYBT{=igXRtfEnh?+)^B6r(AmbItpiEge!B34jZm`<
zRF3d1XW;PF*~XyDvW9_?fq}uE!HGeK0g}SiKslEol7WXIib0kknn9HzhC!bpmcgDO
znZb!6k-?cEiNT#A1?+kg237_h24jY3h8PAW2GvLgDR9s+GdMG_FvK#%fl@VtCp;=V
v8R8id7#P7Rn3I9&JA)HDLm~@Oa56C@fs3tVhFhRQn}Lzx217r?O%_f7BAA~p

delta 1906
zcmZoteymV`>ff$?3=9k=40pH~bQt0}8MGM^xEK-{lDHU>8B(|yQW?^?7}6OsxEN#^
zGC3Kt7_vb`4v3ozlE~v?$Y&_vU?>F9MH~#p91JBK45b_lWgsQx><krL3?dAbAWjvC
zsODs-VW{O`sN-U&XK3IGW=Lmf<YH)IXl7?<;bdrKXaf=LAe9{)44s?|T@2kIP7lbg
zUUr5)E(TSGelCUy3==^jlh_$1b1`T#Okro3%FZy2onbmV!;Fa!r!mf)e1b84@(M<!
z&FV}Nj4Une46`OXGaq1_Jeh?>CBl$lHV=b7g8@6k93F<b4D;9-=JPNtU|7h`u!x6Y
zF~bsehNV0V%NUmPFsxu$$<DBfhha5?FAu{S5V4kF9S_5LhS}^4vv?RbFl=OGVDS%g
z^x<LH#ISktR2EI<Eeu;HA7qg<He}ew!?2xU2M@zehF$CoyLlM)FzjVyU~?@>EKW^f
zXV}NXu%F=o55qx*L+lKPc^Hl`9G%R|Dxr0Zhv7KGX&#0%3}<;5&M};4WMFj-atwB5
zXSl$_aFM~Ahv5>#E*^%<46`TuvnmQ0GF)M2xXQzDjo~^E!wrU;lN(qim~S!6o;;iN
z`(}Ce`;3z(FiK4R$FYF%_U8GV6By;S8FUz!7<3u*7#JCtK%v0Ez`(}9$Y97|#K6R0
zJlT(1y559=fq{>KnSp^pn1O{sgn^Sml);pNfkBLciGhKEi@}V+oB;&5!1@^(EEpIV
zSQr=?EEyOXtQf38<}ffYEMs6{U}Iolu+rMXz_g8lc^d=EHU`#h3~W}clB~Mh7}zCQ
zbtGA~FmQkf&TR}_Fm?4%h1@J_7#J9s7(mVuV_;=qV31@GVvu5xV320eV31+3V2}kn
z%MM}<+*wu(HVn25j3BES>=<mpj<#a3XK(;}$%?^|!HI!|L5M+v!I{B@ffdF1t_*Gr
zI!p}43=E7H8CV!N85kIqVeW!Di_MBn*NUCVj6;%r8w1be*F0t}yxSP~W-_=jn{g~>
zaFApd;s^81SU`LONp>LtFkg)o#8;4H7ZL>X#n?c60ZDctp=}I&lT&&1>xCuRb~A`X
zin6wCXAs@SASTJCvyDM~IRp151_>d_Z46RqZjs)`Aaj60){0G%Z4-msCI<O!3<{EL
zk}TU8gwa$&0+SgWm_`gd3=9lP3_=Xb3<nrA8ICh(F<fKNX1G(&pu=#VL66}%g8{>T
z217<J1|vp624hA=1`}{ddoZwr0t6P)jLNW(W>jWyXYc@pG@~+uCxb00q#2bNycoP0
zSim}b7<?I68H5-G!C}tE;0I1loc|aC*ctrU83Gvj`T6;I>XqbvGO(jWNFak7Bt0=E
zL*j#B2b#}N<6|`_VS-Iyy7YI$Z3YGgY35I}+87uZv=IRhjwn#TD}p0}jm3;Zlw&mm
z!(>5z8Juw-1qx%OZ4AQTNKpop;>#JB(VT-B&=w3r43-Q94Au<g3^ojH47LnC40a6t
z42}%b8JrmAGB`6VW^iFx#^A}Yjlqkd9+cC-0nM-j7SIekU;)jr0~XK>J759Lumcv*
z3_BR00nM-sDWHWJ*#0qCzyg{_O716v7&wSvnKp<a7!t@J`$6Rb1A`Enw^WcaBNr&5
z8T=Ro82rJ>0#Ysr!Cfl^buDta5W)}&wc-*3Gbm9oc<yFUjnv-GptgfS-4|h7{Wb<x
zoox&nI*_F8rwdQm2sPkxgnKyyhp)~y1}&B~;LL8%;KZQG07>C$pq$GP%D}@A#vscO
z&Y;Q=!Jy9&$zabA&)~!m%izoq$KcM80Cv3z11kd$gE2!GLpTEygK8v$6gcRZ8Jrnd
z7$O)V!JhSmd(M*~iXobT5uAcK8JNB^II%Otupk8|6GJSx*otE~1uiWa8BQ>?GMr@L
F1OWOGK>+{&

diff --git a/out/production/infinitymonkeys/remote/IDrawingController.class b/out/production/infinitymonkeys/remote/IDrawingController.class
index 428c6a7f30a57b1c8f31314a1e3e3320ff5c2ee3..d9499ee047ea5e8c51fa56cf7214dc66297d48f5 100644
GIT binary patch
delta 308
zcmdnMd6QH4)W2Q(7#J8#7}VGql-L=R*%?$O3TH5?POMp_E0R={pO})ISX|;#lvtjb
zmmXT2TExg8s^OEBSeB@tlbDyTA6!zDnU`*@8Max4@iOCNe&#+#-pTWr{p%SS*cccX
zSQr=?*jX4E_!$Hkm=Gcif(#4{ObkLSj10n9WkgsQ8AP$lh_Ns-h+~zJU}0pCgvo?K
ntcF@7#lpxS4U<BVkzrwEkY$i#Ky|J>10S*o10#b1*ujbbOiv*c

delta 248
zcmcb~xq(yo)W2Q(7#J8#7*yFA6xkV+*cp^33TH5?OsrY8Ih64t<78V#iOFireT+Pl
zw=(<JGcm9+Ffgz%Ffy<+@G~$lFfj<QFfs@-@G)S@2(d6S2xFBIVPRwt#VRAl!pI<w
pRYrn^kwMZ0tCSQABZD-93<D#=aV(4svJ7&_A`FZS@?Zxm000!25-R`z

diff --git a/out/production/infinitymonkeys/remote/IDrawingUpdate.class b/out/production/infinitymonkeys/remote/IDrawingUpdate.class
index c87eedd773afa0eb339b4384e3912c5d1b60c3bd..325ea2bfdb58dcd9c46fcc8154dd7813c1273038 100644
GIT binary patch
delta 101
zcmX@i(#$G$>ff$?3=9k=43g{&BJ2#J><nV;4B`{Tau_8hHt!J;&dV>!OsfnnPA&2*
zb}33M&&*4o%*QCs7&h6KaUmny<ok?KGAxV?0t|u-j124y3=Av`j0_wMj0{2y3=B*R
F!T>5I6&(No

delta 56
zcmZo>J<K9@>ff$?3=9k=4C3qzLhKB}><l9845Aaoau~%XHt(67%Q&Brbuuqg6c+;{
Mg8%~q0~3QF0D*!FB>(^b

diff --git a/out/production/infinitymonkeys/server/DrawingController.class b/out/production/infinitymonkeys/server/DrawingController.class
index 76fe57c3e3a88cdc108af4a06a4266a714cd96fb..5c96d1b716ef926fcaa98beeeb0fd9c8000d43e8 100644
GIT binary patch
delta 3254
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
Caa8F5

delta 2662
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

diff --git a/src/GUI/ChatScreen.form b/src/GUI/ChatScreen.form
index 8628672..e3f201d 100644
--- a/src/GUI/ChatScreen.form
+++ b/src/GUI/ChatScreen.form
@@ -20,7 +20,7 @@
         <properties/>
         <border type="none"/>
         <children>
-          <grid id="bad73" binding="myAreaPanel" layout-manager="GridLayoutManager" row-count="11" column-count="1" same-size-horizontally="false" same-size-vertically="false" hgap="-1" vgap="-1">
+          <grid id="bad73" binding="myAreaPanel" layout-manager="GridLayoutManager" row-count="10" column-count="1" same-size-horizontally="false" same-size-vertically="false" hgap="-1" vgap="-1">
             <margin top="0" left="0" bottom="0" right="0"/>
             <constraints>
               <grid row="0" column="1" row-span="1" col-span="1" vsize-policy="7" hsize-policy="1" anchor="0" fill="3" indent="0" use-parent-layout="false">
@@ -41,7 +41,7 @@
               </component>
               <vspacer id="38e19">
                 <constraints>
-                  <grid row="9" column="0" row-span="1" col-span="1" vsize-policy="6" hsize-policy="1" anchor="0" fill="2" indent="0" use-parent-layout="false"/>
+                  <grid row="8" column="0" row-span="1" col-span="1" vsize-policy="6" hsize-policy="1" anchor="0" fill="2" indent="0" use-parent-layout="false"/>
                 </constraints>
               </vspacer>
               <component id="98bbe" class="javax.swing.JLabel" binding="yourNameLabel">
@@ -110,7 +110,7 @@
               </component>
               <vspacer id="e9e96">
                 <constraints>
-                  <grid row="10" column="0" row-span="1" col-span="1" vsize-policy="6" hsize-policy="1" anchor="0" fill="2" indent="0" use-parent-layout="false"/>
+                  <grid row="9" column="0" row-span="1" col-span="1" vsize-policy="6" hsize-policy="1" anchor="0" fill="2" indent="0" use-parent-layout="false"/>
                 </constraints>
               </vspacer>
               <component id="deaed" class="javax.swing.JButton" binding="exitThisRoomButton" default-binding="true">
@@ -121,6 +121,24 @@
                   <text value="Exit This Room"/>
                 </properties>
               </component>
+              <grid id="e92cc" layout-manager="GridLayoutManager" row-count="1" column-count="1" same-size-horizontally="false" same-size-vertically="false" hgap="-1" vgap="-1">
+                <margin top="0" left="0" bottom="0" right="0"/>
+                <constraints>
+                  <grid row="6" column="0" row-span="1" col-span="1" vsize-policy="3" hsize-policy="3" anchor="0" fill="3" indent="0" use-parent-layout="false"/>
+                </constraints>
+                <properties/>
+                <border type="none" title="Drawing Users"/>
+                <children>
+                  <component id="9aa9f" class="javax.swing.JList" binding="list1" default-binding="true">
+                    <constraints>
+                      <grid row="0" column="0" row-span="1" col-span="1" vsize-policy="6" hsize-policy="2" anchor="0" fill="3" indent="0" use-parent-layout="false">
+                        <preferred-size width="150" height="50"/>
+                      </grid>
+                    </constraints>
+                    <properties/>
+                  </component>
+                </children>
+              </grid>
             </children>
           </grid>
           <grid id="5d886" binding="chatPanel" layout-manager="GridLayoutManager" row-count="6" column-count="1" same-size-horizontally="false" same-size-vertically="false" hgap="-1" vgap="-1">
diff --git a/src/GUI/ChatScreen.java b/src/GUI/ChatScreen.java
index f07d9ab..ef18c62 100644
--- a/src/GUI/ChatScreen.java
+++ b/src/GUI/ChatScreen.java
@@ -32,6 +32,13 @@ public class ChatScreen {
     private JPanel managersPanel;
     private JPanel chatPanel;
     private JButton exitThisRoomButton;
+    private JList list1;
+
+    public JTextArea getActiveDrawingUserBox() {
+        return activeDrawingUserBox;
+    }
+
+    private JTextArea activeDrawingUserBox;
     private JFrame frame;
 
     public Client getClient() {
diff --git a/src/GUI/DrawingArea.java b/src/GUI/DrawingArea.java
index 9e80b51..15104c8 100644
--- a/src/GUI/DrawingArea.java
+++ b/src/GUI/DrawingArea.java
@@ -67,6 +67,7 @@ public class DrawingArea extends JPanel implements MouseMotionListener, MouseLis
         addMouseMotionListener(this);
     }
 
+
     public Shape getDrawing() {
         return drawing;
     }
@@ -309,6 +310,7 @@ public class DrawingArea extends JPanel implements MouseMotionListener, MouseLis
 
         try {
             drawingController.broadcastDrawing(client.getUserName(), drawing, currentMode.toString(), shapeColor, strokeSize);
+            drawingController.broadcastDrawingUser(client.getUserName());
         } catch (RemoteException ex) {
             ex.printStackTrace();
         }
@@ -390,6 +392,7 @@ public class DrawingArea extends JPanel implements MouseMotionListener, MouseLis
         repaint();
         try {
             drawingController.broadcastDraggingDrawing(client.getUserName(), drawing, currentMode.toString(), shapeColor, strokeSize);
+
         } catch (RemoteException ex) {
             ex.printStackTrace();
         }
diff --git a/src/client/ChatUpdate.java b/src/client/ChatUpdate.java
index 9447ca5..45dbd81 100644
--- a/src/client/ChatUpdate.java
+++ b/src/client/ChatUpdate.java
@@ -40,6 +40,7 @@ public class ChatUpdate extends UnicastRemoteObject implements IChatUpdate, Seri
         return true;
     }
 
+
     @Override
     public boolean notifyUserLogin(String fromClient) throws RemoteException {
         client.getApplicationMain().getChatScreen().getChatDisplayBox().append(fromClient + " has joined the room.\n");
diff --git a/src/client/DrawingUpdate.java b/src/client/DrawingUpdate.java
index 43883b2..fdbe735 100644
--- a/src/client/DrawingUpdate.java
+++ b/src/client/DrawingUpdate.java
@@ -20,6 +20,10 @@ public class DrawingUpdate extends UnicastRemoteObject implements IDrawingUpdate
         this.client = client;
     }
 
+    public void notifyUserIsDrawing(String fromClient){
+        client.getApplicationMain().getChatScreen().getActiveDrawingUserBox().append(fromClient);
+    }
+
     @Override
     public boolean notifyTextDrawing(String fromClient, String text, Font font, Point startPoint) throws RemoteException {
         Graphics2D g2 = client.getApplicationMain().getPaintGUI().getDrawingArea().getG2();
diff --git a/src/remote/IDrawingController.java b/src/remote/IDrawingController.java
index 635c490..26641bb 100644
--- a/src/remote/IDrawingController.java
+++ b/src/remote/IDrawingController.java
@@ -24,6 +24,7 @@ public interface IDrawingController extends Remote {
     boolean broadcastDrawing(String fromClient, Shape drawing, String mode, Color color, int strokeSize) throws RemoteException;
     boolean broadcastDraggingDrawing(String fromClient, Shape drawing, String mode, Color color, int strokeSize) throws RemoteException;
     boolean broadcastClearCanvas(String fromClient) throws RemoteException;
+    void broadcastDrawingUser (String fromClient) throws RemoteException;
 
     ArrayList<Shape> getShapeList() throws RemoteException;
     ArrayList<Color> getColorList() throws RemoteException;
diff --git a/src/remote/IDrawingUpdate.java b/src/remote/IDrawingUpdate.java
index 02f17f1..08347bc 100644
--- a/src/remote/IDrawingUpdate.java
+++ b/src/remote/IDrawingUpdate.java
@@ -11,4 +11,5 @@ public interface IDrawingUpdate extends Remote, Serializable {
     boolean notifyDraggingDrawing(String fromClient, Shape drawing, String mode, Color color, int strokeSize) throws RemoteException;
     boolean notifyCanvasClearance(String fromClient) throws RemoteException;
     boolean receiveImage(byte[] rawImage) throws RemoteException;
+    public void notifyUserIsDrawing(String fromClient) throws RemoteException;
 }
diff --git a/src/server/DrawingController.java b/src/server/DrawingController.java
index 15baa53..1019114 100644
--- a/src/server/DrawingController.java
+++ b/src/server/DrawingController.java
@@ -2,6 +2,7 @@ package server;
 
 import GUI.SerializableImage;
 import client.Client;
+import remote.IChatUpdate;
 import remote.IDrawingController;
 import remote.IDrawingUpdate;
 
@@ -212,6 +213,16 @@ public class DrawingController extends UnicastRemoteObject implements IDrawingCo
         return serializableImage;
     }
 
+    public void broadcastDrawingUser (String fromClient) throws RemoteException {
+        System.out.println("Current client is drawing: " + fromClient);
+        IDrawingUpdate client;
+        for (User u: server.users){
+            client = u.getIDrawingUpdate();
+            client.notifyUserIsDrawing(fromClient);
+        }
+
+    }
+
     public void getImage(String fromClient) throws RemoteException {
 //        if (serializableImage.getImage().)
         ByteArrayOutputStream baos = new ByteArrayOutputStream();
-- 
GitLab